你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS之iOS9新特性——nonnull、nullable、null_resettable、_Null_unspecified

iOS之iOS9新特性——nonnull、nullable、null_resettable、_Null_unspecified

編輯:IOS開發綜合

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

好處:

1.迎合swift

2.提高我們開發人員開發規范,減少程序員之間交流

注意:

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