Objc ivar申报地点

时间:2013-04-15 16:14:52

标签: objective-c

有什么区别:

@interface MyClass 
{ 
    NSString *string; 
}

和...

NSString *string; 
@interface MyClass 
{ 
}

谢谢!

1 个答案:

答案 0 :(得分:3)

这些声明中只有一个声明了一个ivar:第一个声明生成一个实例变量string,而第二个声明生成一个全局变量string。第一个声明中的ivar只能在实例方法中使用,而不能在类方法中使用。第二个声明中的全局变量可以在类方法和实例方法中使用,但所有实例方法都将共享string变量的相同值。