iphone 2.x sdk - 对另一个显示为null的viewController内的viewController的引用

时间:2009-05-02 19:17:16

标签: iphone uiviewcontroller reference

我正在尝试为新创建的自定义选取器视图控制器实例提供对另一个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! ...
}

1 个答案:

答案 0 :(得分:1)

所以我通过从timerPickerViewController中完全删除initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil并使用viewDidLoad来修复它。一切似乎都很好。我认为问题是该属性在initWithNibName内引用时尚未可用。希望能帮助别人。