有什么区别:
@interface PhotoAppViewController : UIViewController <UIImagePickerControllerDelegate, UINavigationControllerDelegate>
{
UIImageView * imageView;
UIButton * choosePhotoBtn;
UIButton * takePhotoBtn;
}
@property (nonatomic, retain) IBOutlet UIImageView * imageView;
@property (nonatomic, retain) IBOutlet UIButton * choosePhotoBtn;
@property (nonatomic, retain) IBOutlet UIButton * takePhotoBtn;
而且:
@interface PhotoAppViewController : UIViewController <UIImagePickerControllerDelegate, UINavigationControllerDelegate>
@property (nonatomic, retain) IBOutlet UIImageView * imageView;
@property (nonatomic, retain) IBOutlet UIButton * choosePhotoBtn;
@property (nonatomic, retain) IBOutlet UIButton * takePhotoBtn;
授权后花括号是什么意思?
答案 0 :(得分:1)
“花括号”是定义instance variables
(也称为ivars
)的范围。属性是可以公开访问的变量(即通过其他类),而实例变量是私有的,只能在类的实现本身的范围内访问。
阅读this和this,以便直观地了解属性和ivars之间的差异。
我强烈建议您阅读Apple关于Objective-C的文档,或者如果前者对您的品味有点过于技术性,请阅读相同主题的好书。
答案 1 :(得分:1)
来自http://rypress.com/tutorials/objective-c/properties.html:
对象的属性允许其他对象检查或更改其状态。 但是,在精心设计的面向对象程序中,它是不可能的 直接访问对象的内部状态。相反,访问者 方法(getter和setter)用作抽象 与对象的基础数据交互。