ope*_*rog 2 objective-c ios sprite-kit sknode
SKNode只提供+node方法.
如果你这样做:
+ (instancetype)node {
CustomNode *body = [CustomNode node]; // infinite loop
}
Run Code Online (Sandbox Code Playgroud)
如果你这样做:
+ (instancetype)node {
CustomNode *body = [super node]; // instance of SKNode, not CustomNode
}
Run Code Online (Sandbox Code Playgroud)
你如何继承一个只有一个方便构造函数的类,你可以覆盖构造函数?或者最好的做法是创建自己的+customNode方法?
没有人说你不能[... alloc] init]在SKNode子类上使用.毕竟,SKNode是NSObject的子类.+node只是一种方便的方法.
+ (instancetype)node {
CustomNode *body = [[self alloc] init];
return body;
}
Run Code Online (Sandbox Code Playgroud)
这没什么不对.