声明一个属性示例:
@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
网友评论