美文网首页
《Swift学习笔记》08 - 字典的简单介绍

《Swift学习笔记》08 - 字典的简单介绍

作者: ShIwEn9 | 来源:发表于2019-08-04 10:45 被阅读0次

介绍:Swift 语言由苹果公司在 2014 年推出,用来撰写 Mac OS 和 iOS 应用程序,并且Swift还是开源的,开源地址:https://github.com/apple/swift,同时附上官方博客地址:https://swift.org
目前Swift已经发展到了第五版本。显然苹果大有推翻 OC “江山”的意思.
今天就来初探一下Swift,看看究竟为何swift有这么大的能力。
参考内容:
Swift中文
YungFan老师

swift
一、字典的介绍
  • 字典是无序存储具有相同类型的健和相同类型值的集合
  • 字典的每一个键和值一一对应的相关联
  • 字典中的元素没有特定的顺序
  • 键集合是不能有重复元素的,而值集合是可以重复的
  • 通过 var 命名的为 可变字典、通过 let 命名的为不可变字典
数组、集合、字典
二、字典的声明
  • 定义空字典
var dict : [String : Any] = [String : Any]()

// 在声明一个Dictionary类型的时候可以使用下面的语句之一
var dict2: Dictionary<Int, String>

var dict3: [Int: String]
  • 声名和初始化字典
// 定时字典的同时,进行初始化
var dict:[String : Any] = ["name" : "zhangsan", "age" : 18] // 键为String类型 值为任意类型
var airports: [String: String] = ["YYZ": "Toronto Pearson", "DUB": "Dublin"] // 键值都是 String 类型

// Swift中任意类型用Any表示
var dict : Dictionary<String, Any>
dict = ["name" : "zhangsan", "age" : 18]

// 类型推导,不用再写字典类型
var airports = ["YYZ": "Toronto Pearson", "DUB": "Dublin"]
三、字典的方法
  1. 获取长度
    和数组一样 通过 count 方法
airports.count
  1. 判空
var dict4 = [1 : "张三", 2 : "18", 3 : "男"]
// 判空
if dict4.isEmpty {
    print("空字典")
}
  1. 增加
// 添加数据
dict4[4] = "178"
print(dict4)
  1. 删除
// 删除字段
dict4.removeValue(forKey: 3) // 删除键为 3 对应的 值
print(dict4)
  1. 修改字典
// 方式一
 // 修改键为 1 的值为 李四 但是这里dict 字典为空,所以会默认加入进去
var dict : [String : Any] = [String : Any]()
dict["1"] = "李四" 
print(dict)  // ["1": "李四"]

// 方式二
dict.updateValue("lisi", forKey: "1")
print(dict)
  1. 遍历字典
// 遍历字典中所有的值
for vaule in dict4.values {
   print("vaule = \(vaule)")
}
// 遍历字典的所有值
for key in dict4.keys {
   print(key)
}

// 遍历所有的键值对
// 常用
for (key, value) in dict4 {
   print("\(key) --- \(value)")
}

// 枚举方式遍历
// 输出的不是key-value,而是索引和(key:value)
for (index, value) in dict4.enumerated() {
   print("\(index) -- \(value)")
}
  1. 字典的合并
var dict5: [String : Any] = ["name" : "zhangsan", "age" : 20]
var dict6: [String : Any] = ["height" : 1.80, "phoneNum" : "18888888888"]
// 字典合并不能像数组那样直接用+
for (key, value) in dict6 {
    dict5[key] = value
    
}
print(dict5)

字典就学习这里了,有什么不足的地方欢迎补充。

文章大多数内容来自:
Swift中文
YungFan老师
再次感谢!

求职广告:本人实习生,现在急需一份工作,杭州南京合肥的都可以。对我感兴趣的可以私聊我 0.0。谢谢~~~

相关文章

网友评论

      本文标题:《Swift学习笔记》08 - 字典的简单介绍

      本文链接:https://www.haomeiwen.com/subject/kusedctx.html