你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS 泛型中nullable、null resettable、null kindof 用法詳解

iOS 泛型中nullable、null resettable、null kindof 用法詳解

編輯:IOS開發綜合

 iOS9新出的關鍵字:用來修飾屬性,或者方法的參數,方法的返回值

iOS9新出關鍵字nonnull,nullable,null_resettable,_Null_unspecified

需要注意的一點只能修飾對象,不能修飾基本數據類型.

雖然在項目的代碼編寫中不會經常用到,不過在調用蘋果系統方法的時候還是會經常遇到,需要做一個總結

nullable作用:表示可以為空

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;

__kindof:表示當前類或者它子類

__kindof書寫格式:

放在類型前面,表示修飾這個類型(__kindof MyCustomClass *)

__kindof :在調用的時候,很清楚的知道返回類型 使用__kindof 修飾的類名既可以表示當前類,也可以表示當前類的子類

以上所述是小編給大家介紹的iOS 泛型中nullable、null resettable、null kindof 用法詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對本站網站的支持!

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved