UIStoryboard *gamePlaySB = [UIStoryboard storyboardWithName:STORYBOARD_GAME_PLAY bundle:nil];
CustomAlertViewController *customAlertVC = [gamePlaySB instantiateViewControllerWithIdentifier:CUSTOM_ALERT_VIEW_CONTROLLER];

我已经如上所述初始化了viewcontroller,但是当尝试从已初始化的IBOutlet访问viewcontroller标签并设置其文本时,标签为nil。

因此,我必须将值传递给变量,然后在viewDidLoad中使用它来设置标题。还有其他简便的方法吗?

最佳答案

CustomAlertViewController *customAlertVC = [gamePlaySB instantiateViewControllerWithIdentifier:CUSTOM_ALERT_VIEW_CONTROLLER];
__unused UIView* view = customAlertVC.view; // this will load everything and call viewDidLoad
customAlertVC.property.text = @"blahblah";

这是如果真的要从外部进行设置。但是按照@D。米卡回答,这是不可取的。

关于ios - 呈现 View Controller 之前,IBOutlet在Objective C中为零,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54072119/

10-09 13:02