在我的项目中,我正在创建没有 IB 的 UIViewControllers,因此没有 nib 文件,因此所有可见或其他的控制器内容都是在loadView:中以编程方式创建的。因此,我本质上是在loadView:中“初始化”我的所有对象。这是正确的做法吗?或者我应该把我所有的初始化都放在initWithNibName:bundle:中吗?
因为它是我在控制器的loadView 中创建我的 UIView 子视图的实例:像这样:
self.mySubView = [[SubView alloc] initWithFrame:aframe];
[self.view addSubView:self.mySubView];
[self.mySubView release];
所以我正在使用合成属性来实例化其中的几个子视图。由于我不在初始化程序中,因此我通过调用它们的访问器来创建这些视图,如上所述。但是,它确实感觉这本质上是初始化代码,所以也许我应该直接在我的 ivars 上调用 alloc/init,而不是通过访问器,这让我认为我应该在initWithNibName:bundle:中执行此操作。
如果我在loadView:中初始化对象是正确的,我真的应该使用访问器来分配/初始化吗?
有什么想法吗?