initWithNibName VS viewDidLoad

Tit*_*eul 8 objective-c viewdidload

我一直试图理解我应该使用viewDidload几个小时:当我应该使用initWithNibName:来设置我的viewController的属性.

例如,我正在使用TableViewController,并且我在initWithNibName中设置了它的所有属性(例如backgroundColor,separateColor,工具栏项).这是正确的方法吗?

如果有人能够启发我.

谢谢

Jer*_*emy 12

您应该在中设置您的属性viewDidLoad.当控制器的视图加载到内存中时,系统会调用此方法.的initWithNibName:是什么,你当你从一个榫文件创建一个控制器实例调用.

也就是说,如果您在initWithNibName:调用中设置属性而调用init,则控制器可能不会处于良好状态; 因此,最好这样做viewDidLoad.

  • 另请注意,viewDidLoad(以及所有其他委托方法)在应用程序生命周期的各个点调用.例如当应用程序从后台状态唤醒时,或应用程序关闭时等等.因此,您应始终在这些委托方法中设置视图. (2认同)