iOS-關鍵字-nullable nonnull null_resettable _Null_unspecified

一.關鍵字注意點


 在NS_ASSUME_NONNULL_BEGIN和NS_ASSUME_NONNULL_END這兩個之間的代碼默認是nonnull

 

 關鍵字不能用於基本數據類型(int,float),nil只用於對象

 

二.怎麼去研究新特性? 

使用新的xcode創建項目,用舊的xcode去打開

   2017 Xcode9  iOS11

   2016 Xcode8  iOS10

   2015 Xcode7  iOS9

   2014 Xcode6  iOS8

   2013 Xcode5  iOS7

   2012 Xcode4  iOS6

 

三.出了哪些新特性 :可以用於屬性,方法返回值和方法參數中

    關鍵字作用:提示作用,告訴開發者能不能空

    關鍵字目的:迎合swift,swift是個強語言,swift必須要指定一個對象是否爲空

    關鍵字好處:提高代碼規劃,減少溝通成本

    關鍵字僅僅是提供警告,並不會報編譯錯誤

1.nullable

    nullable使用範圍:可以用於屬性,方法返回值和方法參數中

    nullable作用:可能爲空

 

    nullable 語法1

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

    nullable 語法2 * 關鍵字 變量名

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

 

2.nonnull

 nonnull使用範圍:可以用於屬性,方法返回值和方法參數中

 nonnull作用:不能爲空

 

 nonnull 語法1

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

 nonnull 語法2 * 關鍵字 變量名

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

 

3.null_resettable

 null_resettable使用範圍:可以用於屬性,方法返回值和方法參數中

 null_resettable作用:set可以傳入爲空,get方法不能返回nil,必須要處理爲空情況,重寫get方法

 

 null_resettable 語法

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

 

4._Null_unspecified:不確定是否爲空

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章