我正在尝试为新创建的自定义选取器视图控制器实例提供对另一个viewController的引用,这样(这是在一个pseceViewController实例的选择器内部,在轻触tableView行后调用)...
- (IBAction)rowTapped:(id)sender {
TimerPickerViewController *viewController = [[TimerPickerViewController alloc] initWithNibName:@"TimerPickerView" bundle:nil]
self.timerPickerViewController = viewController;
timerPickerViewController.ponceViewController = self.rootViewController;
[viewController release];
}
然后在我的timerPickerViewController实例中,我有:
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) {
...
// ponceViewController is null here
...
}
}
timerPickerViewController显示得很好,我甚至可以在点击我的“完成”按钮后从ponceViewController访问东西,但我正在合成ponceViewController它在我的标题和所有内容中,我似乎无法访问它里面timerPickerViewController的initWithNibName方法 - 它总是为null。 :(任何人都有任何想法?
编辑:我还应该提一下ponceViewController在timerPickerViewController的viewDidLoad方法中也是null ...
- (void)viewDidLoad {
... no such thing as ponceViewController here! ...
}
答案 0 :(得分:1)
所以我通过从timerPickerViewController中完全删除initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
并使用viewDidLoad
来修复它。一切似乎都很好。我认为问题是该属性在initWithNibName
内引用时尚未可用。希望能帮助别人。