目标 C,iOS:不在子视图上调用 alloc 或 init
Posted
技术标签:
【中文标题】目标 C,iOS:不在子视图上调用 alloc 或 init【英文标题】:objective C, iOS: not calling alloc or init on a subview 【发布时间】:2011-06-20 19:57:59 【问题描述】:我目前正在运行以下代码,作为一个简单的 iPad 测试程序的一部分。我已将“viewController”声明为属性。在我见过的所有其他涉及子视图的示例中,我被要求分配和初始化 viewController,但在这里它工作正常。有什么想法吗?
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
// Why does this work without allocating or initializing viewController?
[self.window addSubview:viewController.view];
[self.window makeKeyAndVisible];
return YES;
【问题讨论】:
【参考方案1】:这看起来像 Apple 随 ios 模板提供的典型样板代码。在这些项目中,viewController 在MainWindow
NIB 中定义。此 NIB 在启动应用程序的过程中很早就加载。在NIB加载过程中分配viewController,然后调用initWithNibName:bundle:
。然后,NIB 加载过程将初始化的对象连接到应用程序委托的视图控制器的IBOutlet
。
【讨论】:
谢谢!这确实是正在发生的事情。以上是关于目标 C,iOS:不在子视图上调用 alloc 或 init的主要内容,如果未能解决你的问题,请参考以下文章
目标 C:[MyObject alloc] 现在在 iOS SDK 4.1 下崩溃