gpt4 book ai didi

iOS 为 initWithNibName 生成的函数结构

转载 作者:行者123 更新时间:2023-11-28 19:23:10 29 4
gpt4 key购买 nike

我经常使用 initWithNibName 函数来初始化我的 View Controller 中的内容。我只是注意到生成的 initWithNibName 函数对 self 进行了 nil 检查。

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if(self) {
//do some initializing
}
return self;
}

为什么对 self 进行 nil 检查,如果不是 nil 则运行初始化代码?这个 if-statement 会是假的吗?为什么苹果坚持要我在这里做一个零检查?

最佳答案

简单地说,如果由于“任何”原因而导致您的 Nib 未加载时出现任何情况,则不会有任何初始化 Controller 的感觉,因此

a self.backgroundcolor = [UIColor blackColor];只有当 self 不是 'nil' 时才会执行。

否则,该方法将只返回'nil'

关于iOS 为 initWithNibName 生成的函数结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6986132/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com