objective-c - initWithNibName VS viewDidLoad

标签 objective-c viewdidload

几个小时以来,我一直在努力理解什么时候应该使用 viewDidload: 以及什么时候应该使用 initWithNibName: 来设置我的 viewController 的属性。

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

如果有人能启发我。

谢谢

最佳答案

您应该在 viewDidLoad 中设置您的属性。当 Controller 的 View 加载到内存中时,系统会调用此方法。 initWithNibName:从 nib 文件创建 Controller 实例时调用的东西。

也就是说,如果您在 initWithNibName: 中设置您的属性,而不是调用 init,您的 Controller 可能不会处于良好状态;因此,最好在 viewDidLoad 中执行。

关于objective-c - initWithNibName VS viewDidLoad,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8735393/

相关文章:

ios - 在类中定义 block 以在其他地方使用

ios - 使用照片框架将图像保存到照片库

ios - viewDidLoad 不工作(没有 Nib )

iphone - 拍照后viewDidLoad加载完毕

iPhone - self.view 在 initWithNibName 子类中为 nil,并且未调用 viewDidLoad

ios - 移动 UITextField 的左 View

ios - Xcode 日期格式 - 来自 RSS 的格式

ios - 如何在 UITextFields 中允许方程式?

swift - 在 Swift 中没有导航 Controller 的情况下在 viewDidLoad() 中执行 segue

ios - Swift NSNotification 不适用于所有 ViewController