我正在为NSObject的子类写一个方法,它合并了常见的NSObject方法“+ alloc”和“-init”。这是为了节省创建类的实例的时间。如何合并+ alloc和-init?
(该子也是一个抽象类,它是像继承NSObject的替代,因此该方法必须与子类兼容)。
对于“制造”的方法,这是写作的最佳途径它:
+(id)make
{
id newObject = [[self.class alloc] init];
return newObject;
}
如果有更好的方法,它会是什么?
感谢
仅供参考:https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/nsobject_Class/Reference/Reference.html – 2012-07-30 17:46:10
我假设通过“节省时间创建实例一个类“的意思是”节省时间输入“,而不是”节省一些CPU周期“,因为类方法实际上比较慢。 – dasblinkenlight 2012-07-30 17:49:06
在类方法中,'self'是类,'[self class]'是不必要的。这可以简单地写成'return [[self alloc] init];' – 2012-07-31 00:11:11