iOS9的几个关键字(nonnull、nullable、null_resettable、__null_unspecified)

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;

你可能感兴趣的:(iOS9的几个关键字(nonnull、nullable、null_resettable、__null_unspecified))