我正在使用下面的代码为子类 SKNode 对象创建一个方便的方法。这似乎工作正常。让我烦恼的是,SKNode 类参考明确指出 -init 符号仅适用于 iOS 8.0 及更高版本。我的应用程序的部署目标是 iOS 7.1。
+ (instancetype)postGameContent
{
return [[self alloc] init];
}
- (id)init
{
if (self = [super init]) {
[self setupContent];
} return self;
}
我担心我的代码中的 init 方法被转移到 iOS7.1 的继承链上,绕过了由 SKNode 自己的便捷方法(+节点)或初始化程序(-init)初始化的任何内容。根据 iOS 版本号,我的代码是否有可能导致节点(甚至对象)有所不同?与此相关,当我写:
return [[self alloc] init];
Xcode 6 自动补全给“init”一个红色删除线,但没有解释原因(截图)。这是因为潜在的版本问题,还是其他原因?