为了账号安全,请及时绑定邮箱和手机立即绑定

属性(property)与成员变量(ivar)有什么区别

属性(property)与成员变量(ivar)有什么区别

ABOUTYOU 2019-04-07 09:37:52
最近看了很多别人写的example,一直搞不懂为什么很多人同时写属性和成员变量如下:@interfaceKKProgressToolbar:UIToolbar{@privateid__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)idactionDelegate;一般我自己写的时候,直接写@property,然后在m文件中,写上@synthesizeaaaaa=_aaaaa;我刚开始学IOS,不知道这个的区别是什么,望有人不嫌弃,指点一二,在此谢过!!!
查看完整描述

2 回答

?
撒科打诨

TA贡献1934条经验 获得超2个赞

成员变量主要是适用于iOS5之前的开发,需要程序员手动进行内存管理。iOS5之后(包括iOS5)引入了ARC(AutomaticReferenceCounting)同过在property中使用strong,weak等标记自动对内存进行管理。也就是说进行iOS5及以后系统版本的开发,可以放心的使用property,而无需对其进行手动的内存管理。
                            
查看完整回答
反对 回复 2019-04-07
  • 2 回答
  • 0 关注
  • 261 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信