首页 > 代码库 > swift学习之数组、字典、控制流

swift学习之数组、字典、控制流

// Playground - noun: a place where people can play

import UIKit
//2014-09-23 集合类型 Collection Types

//.............................................

//1.数组
/*
1. 数组是类型安全的


*/

//1.1定义一个数组变量
var shoppingList:[String]=["apple","Eggs"]
if shoppingList.isEmpty {
    println("The shopping list is empty.")
} else {
    println("The shopping list is not empty.")
}

shoppingList.append("orangle") //数组添加元素
shoppingList+=["1","2"] //数组加法运算符

shoppingList[0]="six apples" //修改数组元素
shoppingList

//1.2 可以利用下标来一次改变一系列数据值,即使新数据和原有数据的数量是不一样的。
//但下标不能越界
shoppingList[2...4]=["A","B"]  //把2、3、4三个元素变成两个元素,牛逼
shoppingList
//1.3 插入元素
shoppingList.insert("Z", atIndex: 2)
shoppingList

//1.4 移除元素
shoppingList.removeAtIndex(0) //移除第一项
shoppingList
//1.5 数组的遍历
//1.51

for item in shoppingList{
    print(item+" ")
}
println()

//1.52 可以使用全局enumerate函数来进行数组遍历
for (index,value) in enumerate(shoppingList){
    println("Index is \(index) :value \(value)")

}
//1.53 使用构造语法来创建一个由特定数据类型构成的空数组
var someInt=[Int]()

someInt+=[1,2,3]
someInt=[] //变成空的整形数组

//1.54 Swift 中的Array类型还提供一个可以创建特定大小并且所有数据都被默认的构造方法。

var threeDoubles=[Double](count: 3, repeatedValue: 0.0)
var anotherThreeDoubles = Array(count: 3, repeatedValue: 2.5)

var sixDoubles=threeDoubles+anotherThreeDoubles



//2. 字典
/*
在 Swift 中,在某个特定字典中可以存储的键和值必须提前定义清楚,方法是通过显性类型标注或者类型推断。
*/

//2.1
var airports:Dictionary<String,String>=["TYO":"Tokyo","DUB":"Dublin"]
var charts=["A":"a","B":"b"]

//2.2 插入新值
charts["C"]="c"
charts
//2.3.1 修改
charts["C"]="CC"
charts
/*
2.3.2
updateValue(forKey:)函数会返回包含一个字典值类型的可选值。举例来说:对于存储String值的字典,这个函数会返回一个String?或者“可选 String”类型的值。如果值存在,则这个可选值值等于被替换的值,否则将会是nil。
*/


if let oldValue=http://www.mamicode.com/charts.updateValue("CCCC", forKey: "C"){>

运行结果:






swift学习之数组、字典、控制流