#从零开始学Swift2.0# No.4 枚举, 元组, 数组和字典
我的博客地址: sunquan.club
代码Github地址:https://github.com/developerSunquan/SwiftStudyNotes
枚举
枚举在Swift中可谓得到了很高的提升. 不单单只简单的支持Int数据类型, 还扩展了支持其它数据类型.
Swift中使用[highlight]enum[/highlight]关键字来定义一个枚举, 其中每一个[highlight]case[/highlight]为一个成员.
多个成员也可以写在一个case里用" , "隔开.
一旦类型被指定就可以使用" . "操作.
Swift中枚举类型可以给成员设定指定初值, 同时, 使用rawValue可以访问初值.
Swift的枚举类型可以由一些数据类型组成, 这些数据类型可以说各不相同.
元组
什么是元组?
元组是关系数据库中的基本概念, 关系是一张表, 表中的每行(即数据库中的每条记录)就是一个元组, 每列就是一个属性. 在二维表里, 元组也称为记录. 在python中元组是一种数据结构.
定义一个元组
这个元组由两个字符串String组成, 这样的组合添加了便于人们认知的字符串描述. 这个元组可以描述为类型(String, String)的元组.
在创建元组的时候也可以直接指定每个元素的名称, 然后直接使用元组名" . "元素名访问.
分解元组.
如果只需要元组中的个别值, 可以使用[highlight]" _ "[/highlight]来忽略不需要的值
数组
Swift中数组使用" [highlight][ ][/highlight] "来表示, 这和Objective - C中的字面量类似.
Swift中使用" [highlight]var[/highlight] "关键字声明一个可变数组, 使用" [highlight]let[/highlight] "关键字声明一个不可变数组.
创建一个空数组可以使用"[highlight][元素类型]()[/highlight]"的形式来声明一个空数组, 如果不需要指定元素类型可以直接使用"[highlight][ ][/highlight]"的形式.
如果数组中每一项若不是同一类型, 将自动转换为Objective-C中的数组.
Swift中判断数组是否为空可以使用isEmpty方法或求数组的count这两种方法.
数组的增删改:
[highlight]注[/highlight] : Swift2.0中干掉了 " shoppingList += "acer"; "这种添加元素的写法.
Swift2.0中遍历数组除了传统的for - in使用方法之外, 遍历数组时可以获取元素对应的下标.
[highlight]注[/highlight] : Swift2.0使用EnumerateSequence方法替代了原有的enumerate方法.
在Swift中引入区间来获取数组中的多个元素.
字典
Swift中字典和数组一样使用" [highlight][ ][/highlight] "来表示.
同样的使用" [highlight]var[/highlight] "关键字声明一个可变字典, 使用" [highlight]let[/highlight] "关键字声明一个不可变字典.
声明一个空字典需要制定key和value的类型, 同样使用isEmpty方法或count的个数可以判断字典是否为空.
如果不使用< , >的形式来定义字典的key和value的类型, 字典中键值对的类型是可以不相同的.
通过使用indexForKey方法或[ "key" ]可以取得字典中key所对应的value.
字典的增删改:
遍历字典的key和value: