摘要: 关于泛型「泛型」(Generic Code)也许是Swift相对于OC的最大特性之一吧!基于Swift的「泛型」特性,你能够写出扩展性更强、复用性更强的方法、类型,它可以让你尽可能避免重复代码,用一种清晰和抽象的方式来表达代码的意图。许多的Swift标准库是基于「泛型」够构建的。譬如,Swift中的... 阅读全文
posted @ 2015-06-29 21:26 脸大皮厚歌 阅读(320) 评论(0) 推荐(0) 编辑
摘要: 「协议」(protocol)声明一系列方法、属性、下标等用来约束其「遵循者」,进而保证「遵循者」能够完成限定的工作。「协议」本身不实现任何功能,它仅仅描述了「遵循者」的实现。「协议」能被类、结构体、枚举所遵循,若某个类型遵循某「协议」,则称该类型遵循(conform to)某协议。协议的语法协议的定... 阅读全文
posted @ 2015-06-29 18:00 脸大皮厚歌 阅读(659) 评论(0) 推荐(0) 编辑
摘要: Swift中的「扩展」(extensions)和OC中的categories类似,只是Swift中的「扩展」没有名字。Swift中的「扩展」可以向一个已有的类/结构体/枚举类型添加新功能,这包括在没有权限获取源代码的情况下扩展类型的能力(即逆向建模)。Swift中的「扩展」可以:添加计算型实例属性和... 阅读全文
posted @ 2015-06-29 17:59 脸大皮厚歌 阅读(315) 评论(0) 推荐(0) 编辑
摘要: 关于「类型转换」(Type Casting),《The Swift Programming Language》描述如下:Type castingis a way to check the type of an instance, and/or to treat that instance as if... 阅读全文
posted @ 2015-06-29 17:58 脸大皮厚歌 阅读(425) 评论(0) 推荐(0) 编辑
摘要: Optional Chaining介绍关于「optional chaining」,《The Swift Programming Language》是这么描述的:Optional chainingis a process for querying and calling properties, met... 阅读全文
posted @ 2015-06-29 17:57 脸大皮厚歌 阅读(378) 评论(0) 推荐(0) 编辑
摘要: ARC概述和4.2+版本的Xcode对OC的支持一样,Swift也是使用ARC来管理内存,文档是这么描述的:Swift usesAutomatic Reference Counting(ARC)to track and manage your app’s memory usage. In most ... 阅读全文
posted @ 2015-06-29 17:56 脸大皮厚歌 阅读(483) 评论(0) 推荐(0) 编辑
摘要: 占坑 阅读全文
posted @ 2015-06-29 17:55 脸大皮厚歌 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 本文将同时阐述Swift的方法和下标,因为根据我的理解,从某种程度上讲,下标的本质也是方法。方法众所周知,在支持面向对象的语言里,方法一般分为两种:实例方法和类方法(在有的语言中,「类方法」被称为「静态方法」)。Swift也不例外,只是考虑到类、结构体和枚举都可以定义这两种方法,所以「类方法」这个名... 阅读全文
posted @ 2015-06-29 17:52 脸大皮厚歌 阅读(263) 评论(0) 推荐(0) 编辑
摘要: 属性概述在Swift中,属性是类、结构体甚至枚举的组成部分。存储型属性和计算型属性OC中属性有两种:「普通属性」和「合成属性」,譬如对于一个UIView,center和bounds是其普通属性(是由对应的存储单元与之对应),而frame是合成属性(根据center和bounds而成而来)。在Swif... 阅读全文
posted @ 2015-06-29 17:51 脸大皮厚歌 阅读(470) 评论(0) 推荐(0) 编辑
摘要: 在C++中,相信不会有太多人去详细考究结构体和类的区别,因为二者关系实在不大。但在Swift中,结构体和类的关系非常大,它们的组成部分都包括:初始化器、实例方法、实例属性、类型属性、类型方法等等;二者也自然有很多的不同点,最大的不同点要数「类是引用类型,结构体是值类型」。本文着重对比阐述类和结构体的... 阅读全文
posted @ 2015-06-29 17:50 脸大皮厚歌 阅读(295) 评论(0) 推荐(0) 编辑
摘要: 占坑 阅读全文
posted @ 2015-06-29 17:48 脸大皮厚歌 阅读(109) 评论(0) 推荐(0) 编辑
摘要: Function概述Swift中的function和其余语言(譬如C)中的function组成部分差不多,都包括:返回类型(若无返回值,则为void)、函数名、形参、函数体(逻辑代码)。只是Swift中function的长相和其他语言不太一样,它把返回值放在定义行的尾部,如下是一个包含包含返回值、形... 阅读全文
posted @ 2015-06-29 17:47 脸大皮厚歌 阅读(369) 评论(0) 推荐(0) 编辑
摘要: Control Flow指的是『逻辑控制语句』,包括if、if-else、for、for-in、while、do-while、switch等。其中大部分和OC中差不多,但Swift在某些方便增强了控制语句的功能。譬如for-in中引入.. finalSquare:// diceRoll will m... 阅读全文
posted @ 2015-06-29 17:38 脸大皮厚歌 阅读(404) 评论(0) 推荐(0) 编辑
摘要: Swift集合类型介绍和OC类似,Swift也提供了三种集合类型:Array、Set以及Dictionary。Arrays用于顺序存储数据;Sets用于无序存储不同值;Dictionaries用于存储无序键值对。但Swift的collections和OC中的collections在要存储的元素类型要... 阅读全文
posted @ 2015-06-29 16:31 脸大皮厚歌 阅读(394) 评论(0) 推荐(0) 编辑
摘要: Swift基本类型Swift的类型是在C和OC的基础上发展而来的,Int是整型;Double和Float是浮点型;Bool是布尔型;String是字符串。类似OC,Swift也提出了三个集合类型:Array、Set、Dictionary;除了上述比较熟悉的类型,Swift还增加了OC中没有的类型,比... 阅读全文
posted @ 2015-06-29 16:05 脸大皮厚歌 阅读(280) 评论(0) 推荐(0) 编辑