@property属性关键字

2018-10-09  本文已影响10人  sky_fighting

声明一个属性示例:

@property NSString *itemName;

声明一个属性,等于隐含地为相应名称的实例变量声明一个存方法和一个取方法。所以上面的代码等同于:

- (void)setItemName:(NSString *)name;
- (NSString *)itemName;

任何属性都可以有一组特性,用于描述相应存取方法的行为。这些特性需要写在小括号内,并跟在@property指令后面。示例:

@property (nonatomic, readwrite, strong) NSString *itemName;

任何属性都有三个特性,每个特性都有不同的可选类型。其中有默认值。默认值可在声明中忽略该特性。

1、原子性:nonatomic、atomic(默认)
2、读写权限:readwrite(默认)、readonly
3、内存管理语义:assign(默认)、 strong、weak、copy、unsafe_unretained
4、方法名:setter=<name>、getter=<name>
5、不常用:nonnull、null_resettable、nullable

传送门:内存管理语义原子性

上一篇下一篇

猜你喜欢

热点阅读