如果我有一个NSObject子类,它没有-init方法或者什么也没做-init,那么创建这两种方式的实例之间是否有任何区别:
MyClass *instance = [MyClass alloc];
MyClass *instance = [[MyClass alloc] init];
Run Code Online (Sandbox Code Playgroud)
用"什么都不做-init"我的意思是
- (id)init {
self = [super init];
if (self) {
}
return self;
}
Run Code Online (Sandbox Code Playgroud)
由于NSObject的-init方法本身并没有什么,我看不出有任何被区别,但当然的建议是,你必须调用-init好好准备的对象.
下面是从片段NSObject的-init方法,它让我想一下:
NSObject类中定义的init方法不进行初始化; 它只是回归自我.