01-iOS9新特性之關(guān)鍵字
iOS9新出的關(guān)鍵字:用來修飾屬性,或者方法的參數(shù),方法的返回值
-
好處:
1.迎合swift
2.提高我們開發(fā)人員開發(fā)規(guī)范,減少程序員之間交流
-
注意:
- iOS9新出關(guān)鍵字nonnull,nullable,null_resettable,_Null_unspecified只能
修飾對象,不能修飾基本數(shù)據(jù)類型
.
- iOS9新出關(guān)鍵字nonnull,nullable,null_resettable,_Null_unspecified只能
nullable
作用:表示可以為空
nullable書寫規(guī)范:
// 方式一:
@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
之間,定義的所有對象屬性和方法默認都是nonnullnull_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;