相关疑难解决方法(0)

在Objective-C中,我为什么要检查self = [super init]是不是nil?

我有一个关于在Objective-C中编写init方法的一般问题.

我看到它到处都是(Apple的代码,书籍,开源代码等)init方法应该在继续初始化之前检查self = [super init]是否为nil.

init方法的默认Apple模板是:

- (id) init
{
    self = [super init];

    if (self != nil)
    {
        // your code here
    }

    return self;
}
Run Code Online (Sandbox Code Playgroud)

为什么?

我的意思是什么时候初始会返回零?如果我在NSObject上调用init并且没有回来,那么一定要搞砸了,对吗?在那种情况下,你甚至可以不写一个程序......

类'init方法可能返回nil真的很常见吗?如果是这样,在什么情况下,为什么?

null objective-c init

163
推荐指数
5
解决办法
4万
查看次数

标签 统计

init ×1

null ×1

objective-c ×1