簡體   English   中英

不同類別的iOS表視圖數據源

[英]iOS Table View Datasource in Different Class

我有一個簡單的iOS應用程序,其中一個名為Dictionary (.m和.h)的類具有用於構建NSDictionary對象的NSArray的幾個函數,然后用於操縱該數據結構的函數。 我有一個具有表視圖委托方法的UITableViewController類,但是我不知道如何在該UIViewController中創建Dictionary類的實例,以便能夠使所有委托方法都與該實例的實例進行對話。類(例如,當我在viewDidLoad方法中調用Dictionary *dictionary = [[Dictionary alloc] init]時,我無法在cellForRowAtIndexPath委托方法中訪問該實例中的任何一個。iOS編程的cellForRowAtIndexPath ,對此感到非常沮喪!任何幫助將不勝感激。

聽起來您需要將dictionary聲明為類的成員變量。 有幾種方法可以做到這一點。 最快的方法是將以下內容放在表視圖控制器的.m文件中的@implementation調用上方。

@interface nameOftableViewControllerClass(){
    Dictionary *dictionary;
}
@end

確保將nameOftableViewControllerClass替換為視圖控制器類的實際名稱。 然后,鑒於負載。 您可以撥打以下電話

dictionary = [[Dictionary alloc] init];

然后,可以在cellForRowAtIndexPath中調用字典對象上的任何函數。 不要忘記將釋放調用放入表視圖控制器的dealloc方法中。

-(void) dealloc {
     [dictionary release];
     [super dealloc];
}

希望這會有所幫助,如果您還有任何其他問題,請與我聯系

您以這種方式聲明的字典變量是viewDidLoad方法的局部變量。 相反,將其聲明為ViewController的屬性,為它分配Dictionary,然后在您的委托方法中訪問它(例如self.dictionary = [[Dictionary alloc] init])。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM