相关文章
Swift快速入门系列
前言
Swift提供了数组和字典两种集合类型来存储数据,Swift的数组用来存储顺序相同类型相同的类型,字典则采用kay-value的形式存储数据。
1.数组
数组用来存储同一个数据类型的多个数据,通常可通过数组元素的索引来访问数组元素。
声明数组
声明数组有两种语法:
- 使用泛型语法。格式为:Array<类型>
- 使用简化语法。格式为:[类型]
// 使用泛型语法声明数组 |
创建数组
创建数组也有两种方式:
- 使用Array的构造器创建数组
- 使用简化语法创建数组
// 创建一个空数组,并将该空数组赋值给myArr变量 |
遍历数组
普通的循环遍历数组:
for var i = 0; i < values .count ; i++ |
for-in循环遍历数组:
for value in values{ |
需要注意的是,在使用for-in循环遍历是,不允许对循环常量进行赋值,因为for-in循环隐式的用let来声明了该常量。
修改数组
Array提供了append()方法来添加元素:
// 使用var定义一个可变数组 |
还可以用”+“来进行数组的的加法运算:
//输出为["Swift","Java","Ruby"] |
Array提供了insert()方法来添加元素:
// 插入元素,这时数组第一个元素为"Go" |
Array支持在”[]”中使用Range,这样可以一次性获取和赋值多个数组元素:
var languages = ["Swift", "OC", "PHP", "Perl" , "Ruby" , "Go"] |
Array提供了removeAtIndex()、removeLast()和removeAll()方法来进行删除:
var languages = ["Swift", "OC", "PHP", "Perl" , "Ruby" , "Go"] |
2.字典
字典用于保存具有映射关系的数据,key和value都可以是任何数据类型的的数据,其中字典的key不允许重复。
声明字典
声明字典有两种语法:
- 使用泛型语法,格式为:Dictionary<key,value>
- 使用简化语法,格式为:[key:value]
// 使用泛型语法声明字典 |
创建字典
同样的创建字典也有两种方式:
- 使用Dictionary的构造器
- 使用简化语法
// 创建一个Dictionary结构体,使用默认的参数 |
使用字典
访问字典的value需要在字典变量后紧跟一个方括号”[]”就可以了,方括号里是字典value对应的key值。
//将key值赋值给height |
从上面的代码可以看出,根据key值访问字典对应的value时,返回的是包含value值的可选类型,因为字典不确定是否这个键值对存在,当键值对存在时则返回key对应的value,否则就返回nil。这时我们可以通过强制解析来解决这个问题:
//height的类型是String?,而不是String |
for-in循环同样可以用来遍历字典:
for heal in health |
字典的key集和value集
如果程序只需要访问字典的key集和value集,只需要访问字典的keys属性或者values属性。
var healths = ["身高":"178" , "体重":"75"] |
修改字典
字典提供了updataValue()方法来修改字典的value值,该方法会返回一个Sting?类型的值,如果key值存在则修改成功,如果key值不存在则返回nil,但会新增一个key-value值
var healths = ["身高":"178" , "体重":"75"] |
字典还提供了如下的方法来删除元素:
- removeValueForKey:删除指定key对应的value
- removeAll:清空字典
var languages = ["Swift":9000, "OC":8600, "PHP":3400, |
还可以将Key对应的Value值赋值为nil来删除该key-value对:
// 删除key为"Go"的key-value对 |