1

我想创建一个工厂类来为我(特定类)创建对象。

Factory 类将只有类方法。有没有办法阻止 alloc init 在课堂上被调用?

4

2 回答 2

1

是的,你可以,在你的界面定义 init 为

- (id) init __unavailable;
于 2013-04-18T07:43:06.250 回答
1

你可以self在 alloc 和 init 中返回。self在这种情况下表示类对象,因此在该对象上调用方法将导致调用类方法

+ (id)alloc {
    return (id)self;
}

+ (id)init {
    return self;
}
于 2013-04-18T07:25:20.383 回答