属性参数的区别
2015-12-31 18:03
393 查看
@property(nonatomic,assign)int age;
在Student类中定义了一个是整型属性age,用于存储学生的年龄。它有两个参数,一个是nonatomic,它代表对属性赋值的时候不加锁,即在多线程环境下访问时可能会出现数据错误,如果需要在多线程环境下运行,为保证数据不会出现错误,可使用atomic参数,它会在对属性赋值的时候加锁。另一个参数是assign,对于C语言的基本数据类型,只能选取这个参数。
@property(nonatomic,copy)NSString* name;
在Student类中定义了一个是NSString类的对象name,用于存储学生的姓名。它有两个参数,一个是nonatomic,另一个参数是copy,该参数一般用于NSObject类及其子类的对象,这些对象在赋值时实现深拷贝,即属性name指向的对象是赋值给它的对象的副本。
在Student类中定义了一个是整型属性age,用于存储学生的年龄。它有两个参数,一个是nonatomic,它代表对属性赋值的时候不加锁,即在多线程环境下访问时可能会出现数据错误,如果需要在多线程环境下运行,为保证数据不会出现错误,可使用atomic参数,它会在对属性赋值的时候加锁。另一个参数是assign,对于C语言的基本数据类型,只能选取这个参数。
@property(nonatomic,copy)NSString* name;
在Student类中定义了一个是NSString类的对象name,用于存储学生的姓名。它有两个参数,一个是nonatomic,另一个参数是copy,该参数一般用于NSObject类及其子类的对象,这些对象在赋值时实现深拷贝,即属性name指向的对象是赋值给它的对象的副本。
相关文章推荐
- 红尘缘深,前尘缘浅
- Thread的join()方法和Object的wait(),notify(),notifyAll()方法
- Libc堆管理机制及漏洞利用技术 (一)
- 第一个JWPlayer应用
- java的synchronized总结
- PAT 1003. 我要通过!(20)
- 2015年HEVC解码器组个人工作总结
- java成神之路
- svn迁移到git
- GDB调试core文件(3)
- sqlite优化之多表查询
- easyui datagrid 根据关键字值取行
- QT直接支持GB18030,附它对此编码的一堆相关文档描述
- PHP版本的线程安全与非线程安全
- htop/dstat/top/ps命令的使用
- Launcher桌面应用中的数据类型
- gradle命令行操作笔记
- java微信公众号开发
- iOSMD5加密
- poj1275Cashier Employment【差分约束】