XCODE 4.2 中的@synthesize, @property

说明:"@property"、"@synthesize"和"release"之间的关系。

在***ViewController.h中在建立"标签"控件后,使用了@property (nonatomic,retain) UILabel *label;声明控件的属性,并且加入在前面@interface中指定的相同UILabel控件对象,所以在**ViewController.m开始时必须添加@synthesize label;

告诉编译器去合成控件的存储器的方法,为程序自动生成Label标签控件的设置函数(setters)和获得函数(getter)。最后在模板程序的默认(void)dealloc的释放方法中使用[label release];把label在程序中释放。这样就完整地完成了程序中一个控件的生命周期了。




在ViewController.h头文件代码内的@property (nonatomic, retain) UILabel中,nonatomic使用单线程机制减少系统资源使用,将更改方法和修改方法生成在Property(属性),retain(保留)属性的可选项表明向属性的对象发送一个保留消息。

nonatomic它要与@synthesize一起使用才有意义。atomic的意思就是setter/getter这个函数是一个原语操作。如果有多个线程同时调用setter的话,不会出现某一个线程执行setter全部语句之前,另一个线程开始执行setter情况,相当于函数头尾加了锁一样。nonatomic不保证setter/getter的原语行,所以你可能会取到不完整的东西。比如setter函数里面改变两个成员变量,如果你用nonatomic的话,getter可能会取到只更改了其中一个变量时候的状态
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值