如何将rootViewController引用到子视图?

时间:2010-04-16 20:47:34

标签: iphone cocoa-touch uitableview viewcontroller

我之前提出的一个问题的答案提出了另一个问题;我从rootViewController调用一个新的视图控制器“RuleBuilder”。 rootViewController包含对contacts数组的引用。如何在RuleBuilder中获得对该数组的引用?我尝试添加

UITableViewController *rootViewController;
...
@property (nonatomic, retain) UITableViewController *rootViewController;

到RuleBuilder.h,然后是

@synthesize rootViewController;

在RuleBuilder.m中。当我从rootViewController中实例化并推送RuleBuilder时,我这样做:

ruleBuilder.rootViewController = self;

但是当我尝试这个时

[rootViewController.contacts addObject:newContact];

从RuleBuilder中,我得到一个编译器错误,“请求'联系人'在非结构的东西”(或非常相似;我没有实现这个完整的代码片段,但我尝试了相同的方法不是一个小时前的几个不同的参考文献,我从来没有能够工作)。

再次感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您已将rootViewController属性声明为UITableViewController(它没有“contacts”属性)。

最有可能的是,您的根视图控制器是UITableViewController的子类。如果你调用了子类RootViewController,那么RuleBuilder中的rootViewController属性应声明为

RootViewController *rootViewController