@property的默认属性
2016-03-05 16:00
183 查看
property 的关键字主要分为四类:
原子性nonatomic,
atomic
在默认情况下,由编译器合成的方法会通过锁定机制确保其原子性(atomicity)。如果属性具备
nonatomic特质,则不使用同步锁。请注意,尽管没有名为“atomic”的特质(如果某属性不具备
nonatomic特质,那它就是“原子的” ( atomic ),但是仍然可以在属性特质中写明这一点,编译器不会报错。若是自己定义存取方法,那么就应该遵从与属性特质相符的原子性。
这个一般都是非原子的,因为性能高,如果有特殊要求,比如安全性要高的话,选原子的,原子的会给对象加锁(会给对象setter函数加锁,使用的是
@synchronized(self){//code})
读写权限
readonly,
readwrite
内存管理
assign,
strong,
weak,
unsafe_unretained,
copy
方法名
getter,
setter
不常用的
nonnull,
null_resettable,
nullable
property默认关键字
在声明
property时,如果不指定关键字,编译器会为
property生成默认的关键字。
对应基本数据类型,默认关键字为
atomic,
assign,
readwrite
对应对象类型,默认关键字为
atomic,
strong,
readwrite
相关文章推荐
- Linux内核分析 笔记二 操作系统是如何工作的 ——by王玥
- RedHat Enterprise Linux 6.4使用Centos 6 的yum源
- 怎么解决tomcat占用8080端口问题
- 浏览器User Agent Switcher Options实现模拟浏览器 附(UA下载)
- 添加tomcat的相关类
- Hadoop集群安装配置
- Nginx 详解(一)
- linux mysql 移动位置
- mac osx下虚拟主机配置
- 魏昊卿——《Linux内核分析》第二周作业:了解操作系统是怎样工作的
- 网站开发周期
- [Linux]常用Linux命令小结(持续更新中)
- Hadoop日志存放路径详解
- linux定时执行任务
- hive部署安装(apache-hive-1.1.0) - 博客频道 - CSDN.NET
- 在linux下搭建STM32工程
- 在linux下搭建STM32工程
- 在linux下搭建STM32工程
- OpenGL——点的绘制(使用OpenGL来绘制可旋转坐标系的螺旋线)
- 利用shell脚本重启node.js