iOS表视图不同类中的数据源

时间:2012-10-26 05:20:57

标签: ios uitableview nsmutablearray

我有一个简单的iOS应用程序,其中一个名为Dictionary的类(.m和.h)有几个用于构建NSArray NSDictionaryUITableViewController个对象的函数,然后用于操作数据结构。我有一个Dictionary类,它具有表视图委托方法,但我无法弄清楚如何在UIViewController中创建Dictionary *dictionary = [[Dictionary alloc] init]类的实例,以便能够让所有委托方法与该类的实例进行通信(例如,当我在viewDidLoad方法中调用cellForRowAtIndexPath时,我无法访问{{1}}委托方法中的任何实例对iOS编程很新,对它感到非常沮丧!非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

听起来你需要将字典声明为你班级的成员变量。 有几种方法可以做到这一点。最快的方法是将以下@implementation调用放在表视图控制器的.m文件中。

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

确保将nameOftableViewControllerClass替换为视图控制器类的实际名称。 然后,在视图中加载。你可以打电话给以下

dictionary = [[Dictionary alloc] init];

然后在cellForRowAtIndexPath中,您可以调用字典对象上的任何函数。 不要忘记在表视图控制器的dealloc方法中放置一个释放调用。

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

希望这会有所帮助,如果您有任何其他问题,请联系我

答案 1 :(得分:0)

您声明的字典变量是viewDidLoad方法的本地变量。相反,将它声明为ViewController的属性,将Dictionary分配给它,然后在委托方法中访问它(例如self.dictionary = [[Dictionary alloc] init])。