我们定义私有实例变量的位置有什么不同吗?据我所知,有两种可能性:
1)在头文件
中@interface MyViewController : UIViewController {
@private
NSString *fooString;
}
2)第二种方法是在实现中定义它:
@implementation MyViewController
NSString *fooString;
有什么区别?干杯!
答案 0 :(得分:7)
在第二种情况下fooString
不是实例变量 - 它是全局变量,所以你的两种情况完全不同
答案 1 :(得分:4)
第一种方式定义私有实例变量。 MyViewController类的每个对象都有自己的私有fooString。
第二种方式定义了一个全局变量。将只有一个fooString实例,它将对任何源文件可见,并带有以下声明:
extern NSString *fooString;
答案 2 :(得分:1)
第一个是您创建的每个MyViewController的唯一fooString
。
第二个是每个MyViewController共享的fooString
。