gpt4 book ai didi

ios - "if (self = [super initWithFrame:frame reuseIdentifier:reuseIdentifier]) "有什么意义

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:21:04 26 4
gpt4 key购买 nike

想知道以下代码中 if (self = [super ... 的意义是什么?它试图防止什么情况发生?

- (id)initWithFrame:(CGRect)frame reuseIdentifier:(NSString *)reuseIdentifier {
if (self = [super initWithFrame:frame reuseIdentifier:reuseIdentifier]) {
// STUFF CONFIGURED HERE
}
return self;
}

采取 from here .

最佳答案

它防止 super 实现返回 nil。如果父类(super class)决定它不能初始化该对象,它可以释放它并返回 nil,如果您试图进行任何初始化,这将使程序崩溃,因为您正在尝试取消引用 nil 指针。

关于ios - "if (self = [super initWithFrame:frame reuseIdentifier:reuseIdentifier]) "有什么意义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5268954/

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