[英]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.