2

我正在为 NSObject 的子类编写一个方法,它合并了常见的 NSObject 方法“+alloc”和“-init”。这是为了在创建类的实例时节省时间。

(这个子类也是一个抽象类,就像是子类化NSObject的替代品,所以方法必须兼容子类化。)

对于方法“make”,这是最好的写法吗:

+(id)make
{
    id newObject = [[self.class alloc] init];

    return newObject;
}

如果有更好的方法,那会是什么?

谢谢

4

4 回答 4

6

更好的方法是只使用+new已经存在的 :)

于 2012-07-30T17:45:20.843 回答
3

你可以使用[self.class new]与调用相同的东西[[self.class alloc] init]

于 2012-07-30T17:45:31.867 回答
2

我发现new作品真的很好。

SomeObject *object = [SomeObject new];
于 2012-07-30T17:45:57.070 回答
1

为了简单起见:

id newObject = [[self alloc] init];

您可以将其替换为:

id newObject = [self new];

但请记住,在许多已定义的对象中,您可以使用其他初始化程序,那么您需要使用:

...alloc] init...]

结构体。

于 2012-09-01T23:01:13.427 回答