#从零开始学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:

posted @ 2015-12-25 17:33  Sun.iOS  阅读(529)  评论(0编辑  收藏  举报