我正在为NSObject的子类编写一个方法,它合并了常见的NSObject方法“+ alloc”和“-init”。这是为了在创建类的实例时节省时间。
(这个子类也是一个抽象类。它类似于子类化NSObject的替代,因此该方法必须与子类兼容。)
对于方法“make”,这是编写它的最佳方式:
+(id)make
{
id newObject = [[self.class alloc] init];
return newObject;
}
如果有更好的方法,它会是什么?
由于
答案 0 :(得分:6)
更好的方法是使用已经存在的+new
:)
答案 1 :(得分:3)
您可以使用[self.class new]
,这与调用[[self.class alloc] init]
答案 2 :(得分:2)
我发现new
效果很好。
SomeObject *object = [SomeObject new];
答案 3 :(得分:1)
为了简单起见:
id newObject = [[self alloc] init];
您可以将其替换为:
id newObject = [self new];
但请记住,在许多已定义的对象中,您可以使用其他初始化程序,然后您需要使用:
...alloc] init...]
结构。