iOS9 新加关键字

// iOS9 新出的关键字:用来修饰属性,或者方法的参数,方法的返回值

// 好处

// 迎合swift

// 规范化


/*

nullable:表示可以为空

nullable 书写规范

方式一

@property(nonatomic, strong, nullable) NSString *name;

方式二

@property(nonatomic, strong) NSString *_Nullable name;

方式三

@property(nonatomic, strong) NSString *__nullable name;

*/

/*

nonnull:表示不可为空

@property(nonatomic, strong) NSString *_Nonnull name;

@property(nonatomic, strong, nonnull) NSString * name;

@property(nonatomic, strong) NSString *__nonnull name;

*/

/*

- (nonnull NSString *)test;

- ( NSString * _Nonnull)test1;

- ( NSString * _Nonnull)test2:(nonnull  NSString *)test2;

*/

/*

在这个之间都默认添加 nonull 关键字

NS_ASSUME_NONNULL_BEGIN

NS_ASSUME_NONNULL_END

NS_ASSUME_NONNULL_BEGIN

@property (nonatomic) NSString *name22;

NS_ASSUME_NONNULL_END

*/

/*

null_resettable  get方法不能为空 set可以为空 重写set或者get方法,处理参数值为空的情况

- (NSString *)name

{

if (_name == nil) {

_name = @"1";

}

return _name;

}

*/

/*

_Null_unspecified 不确定是否为空

书写方式只有这种

@property(nonatomic, strong,null_unspecified) NSString * name;

@property(nonatomic, strong) NSString * _Null_unspecified name;

@property(nonatomic, strong) NSString * __null_unspecified name;

*/

// 注意://iOS 9 新出的关键字,不能修饰基本数据类型

你可能感兴趣的:(iOS9 新加关键字)