【发布时间】:2013-02-15 22:52:03
【问题描述】:
简单的问题,因为我是 IOS 新手。
在哪里声明变量/字段等有什么区别?
选项 1(头文件)
@interface ViewController : UIViewController {
UIView *testView;
}
选项 2(头文件)
@interface ViewController : UIViewController
@property UIView *testView;
选项3(实现文件)
@implementation ViewController {
UIView *testView;
}
@end
【问题讨论】:
-
假设您使用的是 ARC,它们都是一样的。在第三种情况下,实例变量对于导入
ViewController.h的类是不可见的。 -
@Jano 不,它们不一样。选项 1 和 3 生成私有 ivar。选项 2 定义了一个公共属性和一个私有 ivar。
-
你应该看看这个好教程 ;-) rypress.com/tutorials/objective-c/properties.html
-
嗯好的,但是 1 是受保护的 ivar,这是默认访问权限。