元组类型

元组Tuple用来归纳多个归纳具有任意类型的相关联的值,如:

var person = (30, "neusoft")

print(person) // (30, "neusoft")

该元组类型对象person的类型可以认为是:(Int, String)

如果想要获取元组中的某个数据,可以采用以下方式

方式一:可以将其中的数据关联到常量或变量中,如:

let (age, name) = person

print("age:\(age) name:\(name)”) // age:30 name:neusoft

如果并不想将所有的数据都进行关联,可以这样:

let (_, name) = person

print("name:\(name)”) // name:neusoft

方式二:定义时进行关联,使用类似结构体的方式访问

var person = (age:30, name:"neusoft")

person.age = person.age + 1

print("age:\(person.age) name:\(person.name)")

方式三:通过类似下标的方式,直接获取元组中的某个数据,如:

print("age:\(person.0) name:\(person.1)”) // age:30 name:neusoft

注意:使用方式二不要访问不存在的关联名,使用方式三不要越界



数组类型

类型的两种写法:

完整版:Array<AnyObject> Array<Int> Array<String>

简化版:[AnyObject] [Int] [String]

如:

var arr1:Array<Int> = [1,2,3,4,5,6,7,8]

var arr2:[String] = ["hello", "world", "neusoft"];

var arr3:[AnyObject] = [10, "neusoft”] //AnyObject表示不定类型数组

var arr4:[String] = [String](); //空数组

数组中的元素个数,使用count属性访问

print("arr1's count:\(arr1.count)")

使用isEmpty判断数组是否为空

if arr4.isEmpty {

print("Empty!")

}

数组中的元素通过[]运算符获取

print(arr2[0]) //“hello"

arr2[0] = "HELLO"

print(arr2[0]) //“HELLO"

数组可以采用以下方式进行遍历:

方式一:C语言访问方式,如:

for var i = 0; i < arr1.count; i++ {

print("arr1[\(i)]=\(arr1[i])")

}

方式二:for in 方式,如:

for item in arr2 {

print(item)

}

数组的添加操作

arr2.append("iOS”)//末尾追加

arr2.insert("iPhone", atIndex: 1) //指定位置插入

数组的删除操作

arr2.removeAll() //删除所有元素

arr2.removeFirst() //删除第一个

arr2.removeLast() //删除最后一个元素

arr2.removeAtIndex(2) //删除指定下标的元素

var s = arr2.popLast() //删除最后一个并返回

数组的创建

var arr1 = Array<Int>() //创建空数组

var arr2 = [String](count: 3, repeatedValue: "hello”) //创建字符串数组,3个元素,都是”hello"

数组的连接

var arr1 = Array<Int>(count: 5, repeatedValue: 3)

var arr2 = [Int](count: 3, repeatedValue: 5)

var arr3 = arr1 + arr2

字典类型

完整版类型:Dictionary<KeyType, ValueType>

简化版类型:[KeyType:ValueType]

Swift中的基本类型,包括StringInt Double Bool等都可以成为KeyType,如:

var person1:[String:AnyObject] = ["name":"xiaoming", "age":20, "score":80]

var person2:[String:AnyObject] = [String:AnyObject]()

字典的键值对个数:

print(person1.count)

判断字典是否为空

if ( person2.isEmpty ) {

print("Empty!")

}

字典中元素的获取:(取出的value是可选类型的)

print(person1["name"]!)

print(person1["age"]!)

字典的遍历:

方式一:key与value

for (key, value) in person1 {

print("key:\(key) value:\(value)")

}

方式二:key

for key in person1.keys {

print(key)

}

方式三:value

for value in person1.values {

print(value)

}

添加/设置字典中的value

person1.updateValue(30, forKey: "age")

print(person1["age"]!)

删除字典中的字段

person1.removeAll()

person1.removeValueForKey("age")