iOS9新出的關鍵字:用來修飾屬性,或者方法的參數,方法的返回值
好處:
1.迎合swift
2.提高我們開發人員開發規范,減少程序員之間交流
注意:
iOS9新出關鍵字nonnull,nullable,null_resettable,_Null_unspecified只能修飾對象,不能修飾基本數據類型.nullable書寫規范: // 方式一: @property (nonatomic, strong, nullable) NSString *name; // 方式二: @property (nonatomic, strong) NSString *_Nullable name; // 方式三: @property (nonatomic, strong) NSString *__nullable name;nonnull作用:不能為空
nonnull: non:非 null:空 書寫格式: @property (nonatomic, strong, nonnull) NSString *icon; @property (nonatomic, strong) NSString * _Nonnull icon; @property (nonatomic, strong) NSString * __nonnull icon;
在NS_ASSUME_NONNULL_BEGIN和NS_ASSUME_NONNULL_END之間,定義的所有對象屬性和方法默認都是nonnull
null_resettable作用: get:不能返回為空, set可以為空
// 書寫方式: @property (nonatomic, strong, null_resettable) NSString *name; // 注意;如果使用null_resettable,必須 重寫get方法或者set方法,處理傳遞的值為空的情況_Null_unspecified:不確定是否為空
書寫方式只有這種 方式一 @property (nonatomic, strong) NSString *_Null_unspecified name; 方式二 @property (nonatomic, strong) NSString *__null_unspecified name;