Objective-C @property和@synthesize

本文详细介绍了Objective-C中@property和@synthesize的功能与用法。@property用于声明编译器自动生成的set/get方法,并可通过nonatomic、retain等关键字进行配置。@synthesize则明确指示编译器生成这些方法。

Objective-C中的特性@property和@synthesize

1. "@property"功能是声明当前属性为编译器自动生成set/get 方法

2. "@synthesize"功能是让编译器自动生成set/get方法

3. "@property"的关键字涉及到nonatomic,retain,copy,assign,readwrite,readonly这些关键字。一般在".h"文件中声明时的格式为:

  @property(nonatomic ,retain|copy|assign|readwrite|readonly)className propertyName;

  在@property后紧跟的括号内的属性的设置将直接影响到编译器自动生成的set/get方法的形式。

  nonatiomic,这部分将影响编译器合成访问器时不考虑线程安全,如果代码中不涉及多线程的内容,使用这个属性即可。如果这个位置设为空,则默认为atomic形式,即考虑多线程的机制。

  retain、copyassign将影响编译器自动生成的set方法。其中:

  •   retain 自增一个propertyName的引用计数,
  •   copy   复制propertyName
  •   assign 单纯的赋值(这是针对非对象特性的)

  readwrite时,propertName的值可以设置也可以获取,编译器自动合成set/get方法;readonly时,编译器只合成get方法。

转载于:https://www.cnblogs.com/Syjh-1991/archive/2013/05/22/3092141.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值