iOS9新特性之泛型

泛型:限制类型

为什么退出泛型:迎合swift

泛型的作用:1.限制类型;2.提高代码规范,减少沟通成本,一看就知道集合中是什么东西

泛型定义 用法:类型<限制类型>

泛型声明:在声明类的时候,在类的后面<泛型名称>

泛型使用错误在 OC中仅仅是报警告

泛型的好处:1.从数组中取出来,可以使用点语法

2.给数组添加元素,有提示

泛型在开发中的使用场景:1.用于限制集合类型

id是不能使用点语法的

为什么集合可以使用泛型?使用泛型,必须先声明泛型?=》如何声明泛型

自定义泛型?什么时候使用泛型?在声明类的时候,不确定某些属性或者方法类型,在使用 这个类的时候才确定,就可以采用泛型

如:自定义person类,会一些编程语言(iOS,Java),在声明person,不确定这个人会什么,在使用person才知道这个person会什么语言。如果没有定义泛型,默认就是id

用于父子类型转换泛型:_coveriant:协变 子类转父类

_contravariant:逆变 父类转子类

泛型注意点:在数组中,一般可变数组添加方法,泛型才会生效,如果使用不可变数组,添加元素,泛型没有效果。

时间: 2024-08-07 21:20:30

iOS9新特性之泛型的相关文章

iOS9新特性,泛型

泛型:限制类型 开发中使用场景: 1.限制集合中的类型,只能检测方法的调用,因为声明的泛型只能存在方法中 2.当一个类在声明的时候,某个对象的属性不确定,只有创建对象的时候才能确定,就可以使用泛型. 定义泛型 书写格式:放在类型的后面,表示限制这个类型 // 定义泛型:确定类型 @property (nonatomic, strong) NSMutableArray<NSString *> *array; 这样定义后表示array中只能存NSString的类型 我们调用self.array a

Xcode And iOS9新特性

Xcode And iOS9 1. Xcode7 新特性 > 可直接在真机上运行自己的应用,只需要有苹果账号,无需购买苹果开发者账号. > 可设置在出现 EXC_BAD_ACCESS 错误时,显示更详细的错误信息. 设置方式:XCode->Product->Scheme->Edit Scheme 左侧选择“Run” 右侧选择“Diagnostics(诊断)” 在“Runtime Sanitization(运行时净化处理)” 勾选“Enable Address Sanitize

iOS9新特性

01-iOS9新特性之常见关键字 如何学习新技术 1.发现:有时候工作无缘无故,会发现新的东西,先保存起来 2.研究东西:1.研究作用 2.研究书写格式 3.测试: 4.注意点: 如何去研究新的API 1.百度: iOS9API 2.WWDC 和 查看苹果官方文档 (英文基础) 3.用最新版本的xcode7创建一个项目,用老版本Xcode6打开 关键字 苹果为什么要推出关键字?     1.迎合swift,swift强语言,OC弱语言 swift必须描述属性有没有值 关键字注意点: 1.只对方法

iOS9新特性及适配教程

iOS9网络适配_ATS:改用更安全的HTTPS(见Demo1)iOS9新特性_更灵活的后台定位(见Demo2)(网址:https://github.com/ChenYilong/iOS9AdaptationTips) WHAT(什么是SSL/TLS?跟HTTP和HTTPS有什么关系) WHY(以前的HTTP不是也能用吗?为什么要用SSL/TLS?Apple是不是又在反人类?) HOW(如何适配?---弱弱地问下:加班要多久?) 第1种情况:HTTPS Only (只有HTTPS,所有情况下都使

iOS9新特性——堆叠视图UIStackView

iOS9新特性--堆叠视图UIStackView 一.引言 随着autolayout的推广开来,更多的app开始使用自动布局的方式来构建自己的UI系统,autolayout配合storyBoard和一些第三方的框架,对于创建约束来说,已经十分方便,但是对于一些动态的线性布局的视图,我们需要手动添加的约束不仅非常多,而且如果我们需要插入或者移除其中的一些UI元素的时候,我们又要做大量的修改约束的工作,UIStackView正好可以解决这样的问题. 二.在storyBoard上初识StackView

Java 8 新特性之泛型的类型推导

1. 泛型究竟是什么? 在讨论类型推导(type inference)之前,必须回顾一下什么是泛型(Generic).泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数.通俗点将就是“类型的变量”.这种类型变量可以用在类.接口和方法的创建中.理解Java泛型最简单的方法是把它看成一种便捷语法,能节省你某些Java类型转换(casting)上的操作: List<Apple> box = new ArrayList<Apple>();

iOS9新特性之常见关键字

iOS9新特性关键字:可以用于属性.方法返回值和参数中 关键字的作用:提示作用,告诉开发者属性信息 关键字的目的:迎合swift,swift是个强语言,swift必须要指定一个对象是否为空 关键字的好处:提高代码规划,减少沟通成本 关键字使用错误仅仅报一个警告,并不会编译错误 nullable:1.怎么使用(语法)2.什么时候使用(作用) nullable的作用:可能为空 nullable 语法1 @property (nonatomic, strong nullable) NSString *

ios开发ios9新特性关键字学习:泛型,逆变,协变,__kindof

一:如何去学习?都去学习什么? 1:学习优秀项目的设计思想,多问几个为什么,为什么要这么设计,这么设计的好处是什么,还能不能在优化 ,如何应用到自己的项目中 2:学习优秀项目的代码风格,代码的封装设计思想,为什么要这么设计,这么设计的好处是什么,还能不能在优化 ,如何应用到自己的项目中,每行代码都要用心去写,每一行代码都要力求使最简洁的 3:学习别人遇到问题是如何分析问题,解决问题的方法是什么 4:遇到新东西应该如何去学习:1:先研究要学习的东西作用是什么 ,有什么好处  2:如何使用:具体的语

iOS9 新特性总结!!!

#iOS9 新特新介绍 ##一. UIStackView * 新控件:UIStackView 栈视图, 类似AppleWatch的Group * 父类:UIView * 特点: 1. 只能垂直或水平散列,因此不能完全取代Autolayout 2. 能够快速的按顺序获取到子控件 3. 批量修改间距更快 4. 批量修改对齐方式更快 *应用场景: 1. 水平-标签/自定义TabBar 2. 垂直-设置菜单 ##二. SafariServices '' SFSafariViewController *s