【发布时间】:2012-07-30 17:43:32
【问题描述】:
我正在为 NSObject 的子类编写一个方法,它合并了常见的 NSObject 方法“+alloc”和“-init”。这是为了在创建类的实例时节省时间。
(这个子类也是一个抽象类,就像是子类化NSObject的替代品,所以方法必须兼容子类化。)
对于“make”方法,这是最好的写法吗:
+(id)make
{
id newObject = [[self.class alloc] init];
return newObject;
}
如果有更好的方法,会是什么?
谢谢
【问题讨论】:
-
我假设“在创建类实例时节省时间”是指“节省键入时间”,而不是“节省一些 CPU 周期”,因为类方法方式实际上更慢。
-
类方法内部,
self是类,[self class]是不必要的。这可以简单地写成return [[self alloc] init];
标签: objective-c methods nsobject