您的位置:首页 > 其它

OC-----属性及点语法

2015-06-18 17:03 225 查看
1

.属性

属性是Objective-C 2.0定义的语法,为实例变量提供了setter、getter⽅方法的默认实现能在⼀定程度上简化程序代码,并且增强实例变量的访问安全性。

属性的声明

使用@property声明属性 例如@property NSString *name;

属性的作用:1。可以自动生成setter以及getter方法(包括方法声明和实现)2.如果没有定义实例变量,则自动生成实例变量 命名原则(_属性名)

@property (nonatomic,retain)NSString *name;//姓名
@property (nonatomic,retain)NSString *sex;//性别
@property (nonatomic,assign)NSInteger age;//年龄
@property (nonatomic,assign)NSInteger number;//学号


2 属性的属性

属性的三大类关键字的作用

1.读写特性:

readonly:只读 属性只会声明和实现getter方法,不会生成setter方法,也就是只能访问和取值,不能够赋值

readwrite:即可读又可写,也就是属性会生成setter方法以及getter方法 这是系统默认的关键字,如果不写读写特性的关键字,那么表示默认的readwrite

setter :指定setter方法的方法名 也就是修改setter方法名

getter:指定getter方法的方法名 也就是修改getter方法名

2。原子特性:(与线程安全有关)

atomic:原子特性 保护线程安全,系统默认的原子特性关键字但是耗费系统资源

nonatomic:非原子特性 不保护线程安全,不作任何处理,只简单生成setter getter方法,不做任何处理(注意:苹果推荐使用)

3.语义特性:

assign:针对于基本数据类型,只是做简单的赋值和取值操作,默认的语义特性

retain:针对于对象类型,retain关键字下得属性其对象的引用计数会+1

copy:针对于对象类型,会拷贝出一个新的对象,拷贝出来新的对象引用计数会+1

3. 点语法的使⽤用

凡是符合系统默认setter、getter书写格式的⽅方法都可以使⽤用点语法。例如:[person1 setName:@”zhangsan”];可以等价写成person1.name = @”zhangsan”;。NSString *name = [person1 name];可以等价写成NSString *name = person1.name;属性是⼀一对getter、setter⽅方法,点语法是属性的另⼀一种调⽤用格式。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: