繁体   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