几个小时以来,我一直在努力理解什么时候应该使用viewDidload:什么时候应该使用initWithNibName:来设置我的viewController的属性。
例如,我使用了一个TableViewController,并在initWithNibName中设置了它的所有属性(比如backgroundColor、separateColor、工具栏项)。这是正确的做法吗?
如果有人能开导我的话。
谢谢
发布于 2012-01-05 07:13:02
您应该在viewDidLoad中设置属性。当控制器的视图加载到内存中时,系统将调用此方法。initWithNibName:是当您从nib文件创建控制器实例时调用的东西。
也就是说,如果您在initWithNibName:中设置属性,而不是调用init,则控制器可能处于不好的状态;因此,最好在viewDidLoad中执行此操作。
发布于 2012-01-05 07:14:54
你应该使用你的控制器的viewDidLoad:方法。引用苹果在initWithNib上的文档:
您指定的nib文件不会立即加载。它在第一次访问视图控制器的视图时加载。如果希望在加载nib文件后执行其他初始化,请重写viewDidLoad方法并在其中执行任务。
发布于 2012-01-05 07:14:55
initWithNibName:在加载和实例化NIB时调用。
viewDidLoad:当您的视图实际显示在屏幕上时调用。
是的,我相信在您的例子中,设置颜色之类的工作最好在initWithNibName中完成
https://stackoverflow.com/questions/8735393
复制相似问题