gpt4 book ai didi

objective-c - 在 NSObject 子类的自定义 init 方法中使用 self = [super init]

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

我正在继承 NSObject

@interface MyClass : NSObject {

}
-(id)customInit;
@end

并在其中实现一个自定义的初始化方法,

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

并如下创建 MyClass 的实例

MyClass *myClassInstance = [[MyClass alloc]customInit];

现在我的问题是,如果我使用不带 self = [super init] 的 customInit 方法,我会错过什么?如下所示,

  -(id)customInit
{
return self;
}

我会错过父类(super class) NSObject 类中的任何内容吗? 谢谢

最佳答案

不,你不会错过任何东西。来自documentation :

The init method defined in the NSObject class does no initialization; it simply returns self.

但是,我仍然建议调用 self = [super init],以便在您决定更改基类时验证您的代码。

关于objective-c - 在 NSObject 子类的自定义 init 方法中使用 self = [super init],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7752780/

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