viewDidLoad(),LoadView()

iOS*_*iOS 16 iphone objective-c viewdidload loadview

viewDidLoad()LoadView()有什么区别?它们以何种方式彼此不同?

在不使用XIB开发应用程序时哪一个更好?

谢谢 .

Ish*_*shu 52

ViewDidLoad在视图加载完成loadView时调用,并在加载开始时调用.

当你创建一个新项目时,你会看到对这些方法的评论,这些方法在你应该使用哪个函数时会给出一个提示

看到这个

/*
// Implement loadView to create a view hierarchy programmatically, without using a nib.
- (void)loadView {
}
*/


/*
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
    [super viewDidLoad];
}
*/
Run Code Online (Sandbox Code Playgroud)

这些评论清晰易懂.


ash*_*kdy 17

viewDidLoad()
Run Code Online (Sandbox Code Playgroud)

从NIB加载视图并希望在启动后执行任何自定义时使用.

LoadView()
Run Code Online (Sandbox Code Playgroud)

要在以编程方式创建视图时使用(不使用Interface Builder).


fut*_*te7 7

如果您打算使用IB来构建UI,则应该在viewDidLoad中进行所有IB后初始化.如果使用nib初始化控制器,则该类根本不会调用loadView.

如果在代码中初始化控制器,viewController将首先调用loadView,然后调用viewDidLoad.您可以在loadView或viewDidLoad中执行所有初始化,具体取决于您的首选项.

但是,如果您决定使用loadView,请务必在尝试读取self.view之前设置view属性,否则您将进入无限循环并崩溃.


Gyp*_*psa -7

如果您正在开发应用程序而不使用xib LoadView()调用方法,并且如果有 xib,则ViewDidLoad调用方法

所以最好使用LoadView方法。

  • 这不是真的。无论如何,ViewDidLoad 都会为我调用 (9认同)