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

ios9 新特性

时间:2016-05-04 16:57:55      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:

NS_ASSUME_NONNULL_BEGIN

NS_ASSUME_NONNULL_END

在这两个之间必须属性赋值不可以为空

null_resettable 允许set为空 get不为空   需要重写set 方法

@property(null_resettable,strong,nonatomic)NSMutableArray * allDetailData;
@property(null_resettable,strong,nonatomic)NSMutableArray * allDetailData;

nonnull 属性赋值不可以为空 相反nullable可以
@property(nonnull,strong,nonatomic)NSMutableArray * allDetailData;

泛型
可以是设置一些集合中的数据赋值添加对象的属性

@property(strong,nonatomic)NSArray<NSString*>*explainArray;//警告只能为字符串这个的好处就是在得到数据的可以直接得到数组

@property(nonatomic,strong)NSDictionary<NSString*,NSNumber*>  *dic ;key 是字符串 value 是number

自定义泛型

#import <Foundation/Foundation.h>

@interface car<ObjectType>: NSObject
-(void)add:(ObjectType)name;
@end

__covariant 小类型转大类型

__contravariant 大变小 无警告

 

__kindof

//__kindof 告诉编译器可以是NSString 也可能是NSString的子类
-(__kindof NSString*)text;

原生例子 (tableview 去除某个cell)

- (nullable __kindof UITableViewCell *)cellForRowAtIndexPath:(NSIndexPath *)indexPath;   // returns nil if cell is not visible or index path is out of range

    [tableview cellForRowAtIndexPath:[NSIndexPath indexPathForItem:0 inSection:0]];

 

ios9 新特性

标签:

原文地址:http://www.cnblogs.com/xiezefeng/p/5458877.html

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