/**
iOS9新出的关键字:用来修饰属性,或者方法的参数,方法的返回值
好处:
1.迎合swift.
2.提高开发人员开发规范,减少程序员之间的交流
*/
#一
/**
nullable : 表示可为空
书写形式:
1.@property (nonatomic,strong,nullable)NSString *name;
2.@property (nonatomic,strong)NSString *_Nullable name;
3.@property (nonatomic,strong)NSString *__nullable name;
*/
#二
/**
nonnull: non:非 null:空
书写形式:
1.@property (nonatomic,strong,nonnull)NSString *sex;
- (nonnull NSString *)test; //method
2.@property (nonatomic,strong)NSString *_Nonnull sex;
3.@property (nonatomic,strong)NSString *__nonnull sex;
NS_ASSUME_NONNULL_BEGIN
// 在这两者之间,定义的所有属性和方法默认都是nonnull,可以点开一些进去看一下。
NS_ASSUME_NONNULL_END
*/
#三
/*
null_resettable: get:不能返回为空,set:可以为空
注意:使用null_resettable,必须重写getter或者setter方法,处理传递的值为空
null_unspecified:不确定是否为空(没有意义),默认就是空的
*/