@property 属性理解
2015-09-09 20:03
323 查看
1@property (nonatomic,copy)NSString *name;
@property (nonatomic,assign)NSInteger age;//不需要在dealloc中release
/*
属性
下面这句话相当于做了三件事
1,声明了一个实例变量_name
2,实现了setter方法
3,实现了getter方法
property的属性有三类 1,读写控制-readonly readwrite(默认)
@property (setter = setterName:)NSString *name; //可以改变set,get方法
2,原子性控制 atomic(可以保证多线程下访问安全,是枷锁操作,但是要消耗CPU资源) nonatomic
3,语义控制 retain copy assign(直接赋值 _name = name)
assign 基本数据类型时使用
retain 所有对象类型都可使用
copy 遵守了copy协议并且实现了协议的才能用,慎重使用(NSString能把字符串从栈区控制到堆区)NSString使用copy
代理/协议使用assign block使用copy NSArray不能使用assign
*/
@property (nonatomic,assign)NSInteger age;//不需要在dealloc中release
/*
属性
下面这句话相当于做了三件事
1,声明了一个实例变量_name
2,实现了setter方法
3,实现了getter方法
property的属性有三类 1,读写控制-readonly readwrite(默认)
@property (setter = setterName:)NSString *name; //可以改变set,get方法
2,原子性控制 atomic(可以保证多线程下访问安全,是枷锁操作,但是要消耗CPU资源) nonatomic
3,语义控制 retain copy assign(直接赋值 _name = name)
assign 基本数据类型时使用
retain 所有对象类型都可使用
copy 遵守了copy协议并且实现了协议的才能用,慎重使用(NSString能把字符串从栈区控制到堆区)NSString使用copy
代理/协议使用assign block使用copy NSArray不能使用assign
*/
相关文章推荐
- CentOS用DD镜像及恢复过程
- 网站性能优化
- lesson2 -basic Linux tasks
- lesson1 - Navigation in Linux
- 用busybox搭建最简单的Linux文件系统
- linux常用命令 git
- linux mysql 常用操作命令
- 【docker】正式开始容器之旅
- GitHub Linux下使用方法
- Apache-DBUtils工具简介
- Linux命令之write调用的原子性
- 每一个程序员需要了解的10个Linux命令
- 基于centos7最小化安装的openstack环境搭建(1)
- 三层架构
- Linux初学笔记
- 关于Linux文件cache
- linux修改mysq字符集,mysql乱码
- CentOS 7下Authentication failure问题
- Hadoop 实例15 MultipleInputs实战2:多种自定义文件格式的文件输入处理
- pssh 自动化运维