我想知道 [[alloc] init]
是否只是一个约定,或者将两个调用分开是否有更广泛的用途。例如,我想知道人们是否曾在现有对象上调用 [init]
(或 friend )以“重新初始化”它。
最佳答案
惯例是永远不要重新初始化对象。您可以在自己的子类 NSObject(或定义一个新根)的类中以极其有限的方式这样做,但您永远不应该对系统框架中任何其他类的子类这样做。
如果你想“重用”一个类的实例,那么提供超出指定初始化器重用的方法。 IE。你可以这样做:
- (void) reset;
或者:
- (void) resetWithNewState: (MyState *) aState;
关于objective-c - 在 [[alloc] init] 之外调用 [init] 是否有意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2752672/