【发布时间】:2014-08-19 09:11:12
【问题描述】:
以下两种实例化视图控制器的方式有什么区别?
MyViewController *vc = [[MyViewController alloc] init];
// present vc...
对比
[[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"MyViewControllerScene"]
似乎alloc init 可以神奇地识别故事板中的正确场景;这是怎么发生的?它在后台调用instantiateViewControllerWithIdentifier: 吗?哪个是实例化视图控制器的首选方式?第一种方式会导致内存泄漏或无关的视图控制器实例吗?
【问题讨论】:
-
你是如何测试这个的?我的测试没有显示从情节提要中实例化的 alloc init。
-
我用第一种方法推入了一个新的视图控制器,它成功了。
-
什么是反对票?
-
我从您接受的答案中看到您的测试有问题。说得通。 (FWIW 我没有否决这个问题,事实上,考虑到你认为你所经历的,我认为这是一个非常好的问题。)
标签: ios objective-c uiviewcontroller storyboard