一、元祖
元祖:可以保存多个值在一起(可以是不同数据类型的值)。
格式:(数值1 , 数值2 , 数值3)
用途:在C和OC中一个函数返回多个值,需要借助指针,而swift中,有了元祖之后就不用通过指针了。
元祖和数组一样,可以通过索引访问元祖中保存的值,除此之外,和可以给每一个值起一个名字,将来通过这个名字访问对应的值。
二、数组
数组:可以保存多个同一类型的值。
格式:[ 数值1 , 数值2 , 数值3 ]
// Array 和 [Int] 是等价的,两种写法而已。
let arr0 : Array = [10 , 11 , 13]
let arr1 :[Int] = [10 , 11 , 13]
let arr2 = [10 , 11 , 13]
对于可变数组,和不可变数组,就是用let/var区分。
数组的增,删,改,查
var numbers = [4, 5, 6]
// 增
numbers.append(100) // [4, 5, 6, 100]
// 删
numbers.removeAtIndex(0) // [5, 6, 100]
// 改
numbers[0] = 11 // [11, 6, 100]
// 查
numbers[2] // 100
// 删除所有的元素
numbers.removeAll()
创建空的数组
// 创建的arr是一个空的数组
var arr3 = [Int]()
遍历数组中的所有元素
var arr4 = [3, 35 , 16 , 22]
for number in arr4
{
print(number)
}
三、字典
字典:可以保存多个键值对。
格式:[key : value , key : value ]
var dict1 : Dictionary = ["name":"nsl","age":"14"]
var dict2 : [String:AnyObject] = ["name":"nsl","age":"14"]
// AnyObject == NSObject
var dict3 = ["name":"nsl","age":"14"]
创建空的字典
var dict4 = [String : AnyObject]()
一个字典中,如果之前就存在这个key,就是修改这个key中的值;如果之前没有这个key,就是再增加一个键值对。
var dict3 = ["name":"nsl","age":"14"]
dict3["name"] = "zs" // 修改name这个key对应的值
dict3["score"] = 100 // 增加了一个键值对
遍历字典
// 方式1:取出所有的key
for key in dict3.keys
{
print (dict3[key])
}
// 方式2:取出所有的键值对
for (k,v) in dict3 // (k,v) 是元祖
{
print(k)
print(v)
}
四、小总结
OC中 | swift中 | |
---|---|---|
字符串 | @"你好" |
"你好" |
数组 | @[@10 , @11 ,@12 ] |
[ 10 , 11 , 12] |
字典 | @{ @"name":@"nsl" , @"age":@18 } |
[ "name":"nsl" , "age":18 ] |
元祖 | OC中没有元祖 | ( 10 , "一声雷" , 100 , 99.21) |