@property关键字的使用

1.作用:@property是用来快速生成属性和属性的getter,setter方法的

2.用法1.当类有声明属性时,可以用@property 生成属性的get,set方法

@interface Student
{
int age;
}

@end

//该句就相当于原始的get,set方法
@property int age;

 

此时类的实现中实现get,set方法就得使用@syhthesize关键字

@implementation Studen

//代表了getset 方法的实现,
@syhthesize age;

@end

此处注意:关键字@systhesize会默认访问其后的成员变量

       当@systhesize后面的成员变量在类中没有声明的时候,他会自动在类的实现中生成一个私有的成员量,名称和systhesize后面的成员变量一致

3.一般在声明成员变量时以下划线开头,但是systhesize生成的getset方法中是去访问他后面的成员变量,但是我们又不能把其后的变量名称加上下划线,因

   为加上下划线,方法名就变成set _成员名了,所以我们用

  @systhesize  数据类型  变量名1=变量名2

这样生产的方法名称就是变量名1,访问的成员变量就是变量名2,如果类没有声明成员变量名为变量2的,编译器也会自动生成一个私有的成员变量

4.但是在Xcode4.5以上就不再使用以上的方式了,property关键字就能完成成员变量和get,set方法的声明和实现了,而且生成对成员变量默认以

  下划线开头的

@interface Student

     @property int age;
@end

5.只要没有手动编写get和set方法时,编译器默认会生成@systhesize关键字的,仅仅写了其中的一个,编译器也会生成另外的一个方法的

6.property的参数,atomic:代表给方法进行加锁,保证线程安全,是一种线程保护技术,防止写入未完成时,被另一个线程操作,导致数据不完整

   nonatomic不会自动加锁,这样效率还是比较高的

 

转载于:https://www.cnblogs.com/hui1107464497/p/4539388.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值