【发布时间】:2009-04-13 04:04:16
【问题描述】:
我有一个被实例化的UITableViewController 子类,具体取决于它的使用位置、NIB 或通过代码。在这两种情况下,我都想在初始化方法中进行自定义。这是否意味着我需要同时实现initWithNibName:bundle: 和 initWithCoder:,并且每个方法都会调用其各自的超级初始化程序?
虽然我现在不需要这个,但如果我也希望能够使用initWithStyle: 实例化视图控制器怎么办?那么我是否需要 3 种不同的 init 方法来复制相同的行为?
这似乎违反了整个指定的初始化器约定,因为本质上会有 3 个单独的初始化器,它们最终不会调用一个通用的 init 方法。或者有没有办法在支持 3 种不同的实例化路由的同时创建一个通用的指定初始化器?
【问题讨论】:
标签: iphone objective-c cocoa-touch designated-initializer