viewDidLoad
будет вызвано, если только ViewController загрузил само представление.
Например;initWithNibName
не загружает представление, оно просто устанавливает имя пера.Когда ViewController понадобится его представление в какой-то момент в будущем и если в ViewController.view
нет представления, то ViewController загрузит представление так же, как вы это сделали, И ПОТОМ ПРИЗНАЕТ viewDidLoad
.
Ваш код загружает представление самого ViewController.Поэтому вы должны вызывать метод viewDidLoad
в своем коде следующим образом:
topLevelObjs = [[NSBundle mainBundle] loadNibNamed:@"SelectedImageModalViewController" owner:detailImageVC options:options];
if (topLevelObjs.count == 0) {
NSLog(@"Warning! Could not substitute proxy objects in xib file.\n");
return;
} else {
[detailImageVC viewDidLoad];
}
Если ваш detailImageVC
не содержит ваш внешний объект, то вы должны проверить файл пера для IBOutlet
привязок и ваших SelectedImageModalViewController
для соответствующего @property
.Если свойство не является таким сильным, как @property(nonatomic, strong)
в ARC, или не находится в не-ARC, как @property(nonatomic, retain)
, то оно не будет удерживать ваш объект после пробуждения из пера.