我正在学习 iOS 编程,所以请多多包涵。想象一下,我有一个类,我只想有一个简单 init
的方法(无参数)和我想通过属性完成的实例变量的初始化。例如:
@interface MyClass : NSObject
{
}
@property (nonatomic) SomeClass1 *p1;
@property (nonatomic) SomeClass2 *p2;
@property (nonatomic) SomeClass3 *p3;
正如我提到的,我有一个简单的init
,没有参数。没什么,我什至没有实现它,它是从 NSObject 继承的。所以,现在,如果有人要初始化对象p1,p2,p3
的变量MyClass
,就不能出现这种问题的情况,当有人设置:
1. MyClass *object = [[MyClass alloc] init];
2. [[object p1] doSomething];
第二行会引发异常,因为object.p1 = [[SomeClass1 alloc] init]
它之前没有例如调用?