最近看了很多别人写的example,一直搞不懂为什么很多人同时写属性和成员变量
如下:
@interface KKProgressToolbar : UIToolbar {
@private
id <KKProgressToolbarDelegate> __weak _actionDelegate;
UIBarButtonItem* _stopButtonItem;
UIActivityIndicatorView* _activityIndicator;
UILabel* _statusLabel;
UIProgressView* _progressBar;
}
@property (nonatomic, strong) UIBarButtonItem *stopButtonItem;
@property (nonatomic, strong) UIActivityIndicatorView *activityIndicator;
@property (nonatomic, strong) UILabel *statusLabel;
@property (nonatomic, strong) UIProgressView *progressBar;
@property (nonatomic, weak) id <KKProgressToolbarDelegate> actionDelegate;
一般我自己写的时候,直接写@property, 然后在m文件中,写上
@synthesize aaaaa = _aaaaa;
我刚开始学IOS,不知道这个的区别是什么,望有人不嫌弃,指点一二,在此谢过!!!
成员变量主要是适用于iOS5之前的开发,需要程序员手动进行内存管理。iOS5之后(包括iOS5)引入了ARC(Automatic Reference Counting)同过在property中使用strong,weak等标记自动对内存进行管理。也就是说进行iOS5及以后系统版本的开发,可以放心的使用property,而无需对其进行手动的内存管理。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。