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