iOS9新特性之一修饰的关键字

/**
 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
 */
注意:iOS9新出的关键字nonnull,nullable只能修饰对象,不能修饰基本数据类型

#三

/*
 null_resettable: get:不能返回为空,set:可以为空
 
 注意:使用null_resettable,必须重写getter或者setter方法,处理传递的值为空
 
 null_unspecified:不确定是否为空(没有意义),默认就是空的
 
 */
注意:使用null_resettable,必须重写getter或者setter方法,处理传递的值为空

你可能感兴趣的:(iOS9新特性之一修饰的关键字)