iOS9的几个关键字(nonnull、nullable、null
nullable:1.怎么使用(语法) 2.什么时候使用(作用)
nullable作用:可能为空
nullable 语法1
@property (nonatomic ,strong,nullable) NSSting *name;
nullable 语法2
@property (nonatomic, strong) NSString *_Nullable name;
nullable 语法3
@property (nonatomic, strong) NSString * __nullable name;
nonull:1.怎么使用(语法) 2.什么时候使用(作用)
nonull作用:不能为空
nonull 语法1
@property (nonatomic ,strong,nonull) NSSting *name;
nonull 语法2
@property (nonatomic, strong) NSString *_Nonull name;
nullable 语法3
@property (nonatomic, strong) NSString * ___nonull name;
null_resettable:1.怎么使用(语法) 2.什么时候使用(作用)
null_resettable作用:必须要处理为空的情况,重写get方法 get方法不能返回nil,set可以传空
null_resettable 语法1
@property (nonatomic ,strong,nonull) NSSting *name;
- (void)setName:(NSString *)name {
if (name == nil) {
name = @"我叫王晓凯";
}
_name = name;
}
- (NSString *)name {
if (_name == nil) {
_name = @"我叫我叫王晓凯";
}
return _name;
}
__null_unspecified:1.怎么使用(语法) 2.什么时候使用(作用)
__null_unspecified作用:不确定是否为空
使用方式只有这两种:
语法1 @property (nonatomic, strong) NSString *_Null_unspecified name;
语法2 @property (nonatomic, strong) NSString *__null_unspecified name;