当使用内置的init片段时,Xcode 5.1更改 - (id)到 - (instancetype)。为什么?

时间:2014-03-19 09:11:26

标签: objective-c xcode5

Apple如何更改内置init方法代码段:

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

为:

- (instancetype)init
{
    self = [super init];
    if (self) {
    }
    return self;
}

enter image description here

1 个答案:

答案 0 :(得分:2)

instancetype是Objective-C init方法的最佳返回类型。如果您在init方法中编写id而不是instancetype,那么编译器将假设您真正意味着instancetype(至少在ARC模式下)。