Swift学习笔记系列——(23)泛型

来源:互联网 发布:淘宝商家入住需要什么 编辑:程序博客网 时间:2024/06/07 06:38

Tags: Swift 学习笔记

发布时间:2015-08-19
修改时间:2015-08-19
作者:Erwin
博客地址:技术杂货铺
欢迎转载,转载请注明出处。

Swift学习笔记系列——(23)泛型

感慨一下:泛型这一章很乱,很零碎,很难总结。

泛型要解决的问题

避免重复代码、增加灵活性

泛型适用的类型

所有类型

泛型是什么?

泛型是另外一种参数,参数表示的是类型,泛型小可以用在函数上,大可用在类型定义上。这里“类型”不包括协议,协议定义不能直接采用泛型,可以采用关联类型。

泛型使用

泛型函数

函数参数的类型也是参数的函数叫做泛型函数。
这些表示参数类型的参数叫做占位类型名称或者类型参数。

泛型类型

采用了类型参数的类型。

对泛型类型扩展

扩展中可以继续使用原来的类型参数名称,无需再定义。

关联类型

当定义一个协议时,有时需要在协议定义中声明一个或多个关联类型。一个关联类型为在协议中用到的类型提供了占位名字(或者称为别名)。直到协议被实现的时候关联类型才会被指定为实际的类型。使用typealias关键字指定关联类型。

定义了关联类型的协议实现

非泛型实现
泛型实现

类型参数

作用
作为函数的参数类型;
作为函数的返回值;
作为函数体内的类型注释;

类型参数命名

采用有含义的名字;
默认的名字有: T,U,V;
大骆驼命名法;

类型约束

限制类型参数中的类型是特定类型的子类型I

where从句

进一步限制类型

本章思维导图

这里写图片描述

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 存折丢了怎么办卡号也不记得了 车内皮子被烂苹果腐蚀有印怎么办 锅被腐蚀后变黑色应该怎么办 后厨炉灶里的炉芯进水了怎么办 小儿九个月老是流黄鼻子该怎么办 肉炖的老了不烂怎么办 吃了凉东西现在一直打嗝应该怎么办 喝了很多水还是觉得口渴怎么办 刚买的猪肝没洗直接炒了怎么办 四个多月的宝宝吃了脏东西怎么办 狗吃了脏东西拉稀呕吐怎么办 五个月宝宝怕吃药导致奶不喝怎么办 蒸锅锅盖吸住了怎么办锅比锅盖要大 豇豆没熟孕妇吃了中毒怎么办 孩子积食拉不出粑粑憋的直哭怎么办 2岁宝宝总是半夜拉粑粑怎么办 金毛拉很臭的稀粑粑怎么办 点餐系统登录后没有菜单怎么办? 环亚在线微交易亏了钱怎么办 钢管舞报了教练班觉得学不会怎么办 微信上聊天被外国人给骗了该怎么办 微信冒充朋友骗走我钱怎么办 凉皮调料水鸡精味精放多了怎么办 吃了地屈孕酮后月经不干不净怎么办 藕片用热水炒后变色了怎么办? 外汇延期收款忘了报告了怎么办 怀孕不小心吃了马生菜怎么办 高压锅的皮圈很容易坏是怎么办 华为应用市场账号密码忘记了怎么办 业主对我们提出批评意见时怎么办 向环保局投诉被公司发现了怎么办 在政务大厅上班被群众投诉怎么办 政府下发的文件通知不履行该怎么办 给私人老板开车不给工资怎么办 给个体老板开车不给工资怎么办 户口转走在人才市场的档案怎么办 外来媳妇转上海户口没有档案怎么办 公务员考试笔试差9分面试怎么办 想从事人事方面的工作没经验怎么办 教师资格考试后户籍转走认定怎么办 总经理离职了作为高管的我怎么办