Objective-C 属性详解

//属性作用:自动生成settergetter方法

//属性定义:@property+属性的类型(类型与内部操作的实例变量的类型相同)+属性名(和内部操作实例变量名相同)

//属性在.h文件中, 自动生成的是settergetter方法的声明

//属性特性,

//1.读写特性

  //(1)可读可写------ , getter方法; ,setter方法.即会生成两种方法

  //(2)readonly 只读, 只会生成getter方法

  //(3)setter = 方法名 指定在生成setter方法时, setter方法的方法名, getter 同理

//2.原子特性

  //(1)atomic(原子性):保证线程安全, 系统默认

  //(2)noatomic(非原子性):不保证线程安全, 系统推荐

      //为什么要用noatomic:对于settergetter方法可能要在一段时间内 频繁的调用, 如果每次都要加锁与解锁 会非常的消耗系统资源, 降低程序的执行效率, 因此从效率上考虑使用noatomic非原子性

//3.语义特性

   //(1)assign:针对于基本数据类型, (NSInteger, CGFloat, BOOL, int, long, float, double), 也可以用于对象, 默认的语义特性

   //(2)retain:只能针对对象设置, 使对象的引用计数+1

   //(3)copy:只能针对对象, 复制出一个新的对象, 使新的对象引用计数+1


实现部分中

//当系统自动生成setter以及getter方法实现时, 如果指定的setter以及getter方法没有定义, 则系统自动生成该实例变量

//warning 记住:系统自动生成的实例变量是私有的, 子类不能访问

//当生成setter以及getter方法实现时, 如果没有指定内部所操作的实例变量, 系统默认生成的是与属性名同名的实例变量


//@synthesize作用

//1.生成setter以及getter方法的实现

//2.自动生成内部操作的实例变量

//(@synthesize是系统帮我们写好的 不需要我们去操作, 因此@synthesize可做了解知识)



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值