我有这种情况,我只是调用类的 init 我使这个类是 NSObject 的子类。
- (instancetype)initArray
{
self = [super init];
if (self) {
//Do Some Logic
}
return self;
}
这是我来自应用代表的电话
CategoryLoader *categoryLoader = [[CategoryLoader alloc]initArray];
让我抓狂的是:
请注意,两个 Xcode 都是 6.3
我尝试过的解决方案:
这是发生的事情的屏幕截图:
有什么建议为什么它会从 NSObject 返回 nil,接下来我该怎么做?
谢谢
NSObject
的 init
实现不应该返回 nil
。这记录在 NSObject Class Reference : 虽然有点困惑,但关键部分是
The init method defined in the
NSObject
class does no initialization; it simply returns self.
如果您观察到它重新调整 nil
,则可能没有按照您的预期设置某些内容(可能该类不是 NSObject
的直接子类),或者您是以某种方式错误地解释了结果,或者在另一个级别上有问题。您在不同机器上观察到不同结果的事实表明它可能处于另一个级别,例如 Xcode、操作系统或硬件。我无能为力。尝试重新启动。
另外,你的方法应该命名为 init
而不是 initArray
。这不是一个要求,而是一个非常强大的约定。您可以阅读 Object Initialization in Apple’s Concepts in Objective-C Programming
关于ios - super 初始化返回零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29770694/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |