iphone 2.x sdk - ссылка на viewController внутри другого viewController, который отображается как нулевой

StackOverflow https://stackoverflow.com/questions/815422

Вопрос

Я пытаюсь дать вновь созданному экземпляру пользовательского контроллера представления выбора подобную ссылку на другой viewController (это внутри селектора из экземпляра ponceViewController, который вызывается после постукивания строки 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 и он находится в моем заголовке и все такое, и я не могу получить доступ к нему внутри метода initWithNibName timerPickerViewController - он всегда равен нулю. :( У кого-нибудь есть идеи?

Редактировать: я должен также упомянуть, что ponceViewController также является нулевым внутри метода viewDidLoad timerPickerViewController ...

- (void)viewDidLoad {
  ... no such thing as ponceViewController here! ...
}
Это было полезно?

Решение

Поэтому я исправил это, полностью удалив initWithNibName: (NSString *) nibNameOrNil bundle: (NSBundle *) nibBundleOrNil из timerPickerViewController и вместо этого использовал viewDidLoad . Кажется, все работает нормально. Я думаю, проблема заключалась в том, что свойство еще не было доступно при обращении к нему внутри initWithNibName . Надеюсь, что это поможет кому-то еще.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top