码迷,mamicode.com
首页 > 移动开发 > 详细

iOS9新特性之常见关键字、泛型

时间:2017-06-02 09:58:19      阅读:272      评论:0      收藏:0      [点我收藏+]

标签:nat   get   取出   ble   ios开发   spec   数据   邮件   方法   

 

#pragma mark -- nullable


nullable:可以为空,只能修饰对象,不能修饰基本数据类型
// 方式一:
@property (nonatomic, copy, nullable) NSString *name;
// 方式二:
@property (nonatomic, copy) NSString *_Nullable name;
// 方式三:
@property (nonatomic, copy) NSString *__nullable name;

 

// 方法中
- (nullable NSString *)test:(nullable NSString *)str;
- (NSString * _Nullable)test1:(NSString * _Nullable)str;

 

#pragma mark -- nonnull

 

 

nonnull: 不能为空,只能修饰对象,不能修饰基本数据类型

// 方式一:
@property (nonatomic, copy, nonnull) NSString *name;
// 方式二:
@property (nonatomic, copy) NSString * _Nonnull name;
// 方式三:
@property (nonatomic, copy) NSString * __nonnull name;

// 方法中
- (nonnull NSString *)test:(nonnull NSString *)str;
- (NSString * _Nonnull)test1:(NSString * _Nonnull)str;

#pragma mark -- null_resettable

 

 

null_resettable: get:不能返回为空, set可以为空

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


// 注意;如果使用null_resettable,必须 重写get方法或者set方法,处理传递的值为空的情况


#pragma mark -- _Null_unspecified

 

 _Null_unspecified:不确定是否为空

方式一
@property (nonatomic, copy) NSString *_Null_unspecified name;
方式二
@property (nonatomic, copy) NSString *__null_unspecified name;

 

#pragma mark -- 泛型

 

@property (nonatomic, strong) NSMutableArray<NSString *> *arrayM;

// 表明arrayM数组中存放的对象只能是NSString类型的对象

// 开发规范、从数组中取出来对象,直接当做泛型对象使用,可以直接使用点语法,提高开发效率

 

 

#pragma mark -- __kindof

 

// __kindof Person *:表示返回值可以是Person类或者它的子类,外面使用的时候可以很清楚的知道返回值的类型

+ (__kindof Person *)person;

 

 

有任何关于iOS开发的问题!欢迎下方留言!!!或者邮件lieryangios@126.com 虽然我不一定能够解答出来,但是我会请教iOS开发高手!!!解答您的问题!!!

iOS9新特性之常见关键字、泛型

标签:nat   get   取出   ble   ios开发   spec   数据   邮件   方法   

原文地址:http://www.cnblogs.com/CoderEYLee/p/Object-C-0012.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!