Apple Doc 说,我试图从 Apple 指南中了解引用实例变量,但在研究这一点时遇到问题
...当实例变量属于不是接收者的对象时,该对象的类型必须通过静态类型对编译器明确。在引用静态类型对象的实例变量时,使用结构指针运算符 (->)。例如,假设 Sibling 类声明一个静态类型对象 twin 作为实例变量:
@interface Sibling : NSObject
{
Sibling *twin;
int gender;
struct features *appearance;
}
只要静态类型对象的实例变量在类的范围内(因为它们在这里是因为 twin 类型为同一个类),Sibling 方法就可以直接设置它们:
- makeIdenticalTwin
{
if ( !twin )
{
twin = [[Sibling alloc] init];
twin->gender = gender;
twin->appearance = appearance;
}
return twin;
}