Swift基础1.5——基本语法——集合

来源:互联网 发布:阿里巴巴数据库在哪 编辑:程序博客网 时间:2024/06/06 12:32

这一篇,简单介绍一下Swift中的数组与字典

  • 数组使用 [] 定义,这一点与 OC 相同
//: [Int]let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
  • 遍历
// 顺序遍历数组for s in array1 {    print(s)}// 遍历同时获取下标for s in array1.enumerate() {    print("\(s.index) \(s.element)")}// 遍历同时获取下标方法2for (i, e) in array1.enumerate() {    print("\(i) \(e)")}// 倒序遍历数组for s in array1.reverse() {    print(s)}// 倒序同时获取下标for e in array1.reverse().enumerate() {    print(e)}
  • 可变&不可变
    • let 定义不可变数组
    • var 定义可变数组
let array = ["zhangsan", "lisi"]//: 不能向不可变数组中追加内容//array.append("wangwu")var array1 = ["zhangsan", "lisi"]//: 向可变数组中追加内容array1.append("wangle")
  • 数组的类型
    • 如果初始化时,所有内容类型一致,择数组中保存的是该类型的内容
    • 如果初始化时,所有内容类型不一致,择数组中保存的是 NSObject
// array1 仅允许追加 String 类型的值//array1.append(18)var array2 = ["zhangsan", 18]// 在 Swift 中,数字可以直接添加到集合,不需要再转换成 `NSNumber`array2.append(100)// 如果向 数组添加 `CG` 结构体,需要使用 `NSValue` 转换array2.append(NSValue(CGPoint: CGPoint(x: 10, y: 10)))
  • 数组的定义和实例化
    • 使用 : 可以只定义数组的类型
    • 实例化之前不允许添加值
    • 使用 [类型]() 可以实例化一个空的数组
  • 数组的合并
    • 必须是相同类型的数组才能够合并
    • 开发中,通常数组中保存的对象类型都是一样的!

字典

  • 定义
    • 同样使用 [] 定义字典
    • let 不可变字典
    • var 可变字典
    • [String : NSObject] 是最常用的字典类型
  • 遍历
    • kv 可以随便写
    • 前面的是 key
    • 后面的是 value
for d in dict {    print("\(d.0) \(d.1)")}// 遍历for (k, v) in dict {    print("\(k) ~~~ \(v)")}
  • 合并字典
    • 如果 key 不存在,会建立新值,否则会覆盖现有值
//: 合并字典var dict1 = [String: NSObject]()dict1["nickname"] = "大曾"dict1["age"] = 100//: 如果 key 不存在,会建立新值,否则会覆盖现有值for (k, v) in dict1 {    dict[k] = v}print(dict)

0 0