Swift字典用法:日常开发中的实用技巧

{"title":"Swift字典用法:日常开发中的实用技巧","content":"

在写iOS应用的时候,经常要处理一组键值对数据,比如用户设置、网络请求参数或者本地缓存。这时候Swift里的字典(Dictionary)就特别好用。它不像数组靠下标访问,而是通过“键”来快速找到对应的“值”,逻辑更清晰。

\n\n

创建一个字典

\n

最简单的写法是用方括号直接定义。比如你要存一个人的基本信息:

\n
var person = ["name": "小明", "age": "25", "city": "北京"]
\n

注意这里age虽然是数字,但写成字符串是因为字典的类型推断会以当前值为准。如果想混用类型,最好明确指定类型为[String: Any]

\n
var userInfo: [String: Any] = ["name": "李华", "age": 30, "isMarried": false]
\n\n

读取和修改值

\n

想看小明住哪儿,直接用键取值就行:

\n
print(person["city"]) // 输出:Optional(\"北京\")
\n

返回的是Optional,因为可能没这个键。保险起见可以用if let解包:

\n
if let city = person["city"] {\n    print("所在城市:$city)")\n}
\n\n

改数据也很方便。比如小明搬家了:

\n
person["city"] = "上海"
\n\n

加个新字段也一样操作:

\n
person["job"] = "程序员"
\n\n

删除某个键值对

\n

不想保留某项时,用removeValue(forKey:)

\n
person.removeValue(forKey: "job")
\n

执行完job就没了。

\n\n

遍历字典

\n

有时候需要把所有设置一项项展示出来,比如在调试页面列出用户信息:

\n
for (key, value) in userInfo {\n    print("$key: $value)")\n}
\n

这样每一对都会打印出来,顺序不固定,因为字典本身无序。

\n\n

合并两个字典

\n

项目里可能有默认配置和用户自定义配置,可以合并处理:

\n
var defaults = ["volume": 5, "theme": "light"]\nvar userPrefs = ["volume": 8]\n\n// 合并:userPrefs覆盖defaults\nfor (key, value) in userPrefs {\n    defaults[key] = value\n}
\n

现在音量变成8,主题还是默认的light。

\n\n

空字典初始化

\n

刚开始不知道填啥内容,可以建个空字典:

\n
var settings: [String: String] = [:]\n// 或者\nvar data = [Int: Bool]()
\n

记得声明类型,不然Swift不知道你要存啥。

\n\n

实际场景举例

\n

比如做个天气App,请求接口时要传城市和单位:

\n
let params = [\n    "q": "Beijing",\n    "units": "metric",\n    "appid": "your_api_key"\n]\n\n// 把params转成URL查询字符串发出去\n// 这种结构用字典管理比拼字符串清楚多了
\n

代码看起来干净,后期改起来也方便。

","seo_title":"Swift字典用法详解 - 天天顺科技","seo_description":"掌握Swift字典的常用操作,包括创建、读取、修改、遍历和合并,结合实际开发场景讲解,帮你高效处理键值对数据。","keywords":"Swift字典用法,Swift Dictionary,Swift键值对,Swift开发技巧,iOS开发"}