SKNode只提供+node
方法。
如果你这样做:
+ (instancetype)node {
CustomNode *body = [CustomNode node]; // infinite loop
}
如果你这样做:
+ (instancetype)node {
CustomNode *body = [super node]; // instance of SKNode, not CustomNode
}
如何以可以覆盖构造函数的方式子类化一个只有便利构造函数的类?还是创建自己的 +customNode
方法是最佳实践?
最佳答案
没有人说您不能在 SKNode 子类上使用 [... alloc] init]
。毕竟,SKNode 是 NSObject 的子类。 +node
只是一种方便的方法。
+ (instancetype)node {
CustomNode *body = [[self alloc] init];
return body;
}
这没有错。
关于ios - 没有 init 方法时如何正确子类化 SKNode?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20862294/