扩展和协议是swift中的两个特性,用于对已有的类型进行扩展和修改。 扩展(extension) 向已经存在的类型添加新的功能(属性、方法、下标脚本等等),扩展使用extension关键字定义,语法 协议(protocol) 用于声明完成某项任务的功能所必须的方法和属性,或者可以理解为一种完成任务的 ...
分类:
编程语言 时间:
2016-08-28 23:58:23
阅读次数:
284
一、Swift中的扩展功能(Extension)可以动态给类增加功能,类似于Javascript中的prototype;
而在objective-c中,是通过runtime来实现动态调用或者添加功能的。
定义方式如下:
extension SomeType {
}
1. 单位转换
extension Double {
var km: Double {return self * ...
分类:
编程语言 时间:
2015-07-26 09:51:27
阅读次数:
415
上一话中介绍了扩展和协议的相关知识,这一话我们介绍一个很重要的概念delegation(代理),代理是协议的一个很重要的应用。我们来回顾一下代理的相关知识,它是控制器和试图通讯的关键。
那么代理是如何工作的呢
1.你需要创建一个代理协议,它描述了这个试图要帮别人做的事情。
2.在你的视图中创建一个属性,称作代理或者有时也叫数据源,这个属性的类型就是你创建的代理协议。
3.然...
分类:
移动开发 时间:
2015-04-16 17:48:14
阅读次数:
228
1、扩展:Swift 使用一种扩展机制可以在原有类结构体和枚举 ,格式如下: extension 类型名{ // 新功能 } 可以在原类型(类、结构体、枚举)中添加新功能包括:1、实例计算属性和静态计算属性2、实例方法和静态方法3、构造器4、下标。2、协议:所有方法都是抽象的,称之为协议(p...
分类:
其他好文 时间:
2015-04-16 01:19:26
阅读次数:
105
Swift 中类和结构体有很多共同点。共同处在于:
? 定义属性用于储存值
? 定义方法用于提供功能
? 定义下标用于通过下标语法访问值
? 定义初始化器用于生成初始化值
? 通过扩展以增加默认实现的功能
? 符合协议以对某类提供标准功能
更多信息请参见属性,方法,下标,初始过程,扩展,和协议。
与结构体相比,...
分类:
其他好文 时间:
2014-07-21 11:31:04
阅读次数:
231
Swift 中类和结构体有很多共同点。共同处在于:
? 定义属性用于储存值
? 定义方法用于提供功能
? 定义下标用于通过下标语法访问值
? 定义初始化器用于生成初始化值
? 通过扩展以增加默认实现的功能
? 符合协议以对某类提供标准功能
更多信息请参见属性,方法,下标,初始过程,扩展,和协议。
与结构体相比,...
分类:
其他好文 时间:
2014-07-20 22:17:13
阅读次数:
285