[对比OC学习swift]--day02元祖( )

一、元祖

元祖:可以保存多个值在一起(可以是不同数据类型的值)。
格式:(数值1 , 数值2 , 数值3)
用途:在C和OC中一个函数返回多个值,需要借助指针,而swift中,有了元祖之后就不用通过指针了。

[对比OC学习swift]--day02元祖( )_第1张图片
元祖

元祖和数组一样,可以通过索引访问元祖中保存的值,除此之外,和可以给每一个值起一个名字,将来通过这个名字访问对应的值。

二、数组

数组:可以保存多个同一类型的值。
格式:[ 数值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)

你可能感兴趣的:([对比OC学习swift]--day02元祖( ))