在写iOS应用的时候,经常要处理一组键值对数据,比如用户设置、网络请求参数或者本地缓存。这时候Swift里的字典(Dictionary)就特别好用。它不像数组靠下标访问,而是通过“键”来快速找到对应的“值”,逻辑更清晰。
\n\n创建一个字典
\n最简单的写法是用方括号直接定义。比如你要存一个人的基本信息:
\nvar person = ["name": "小明", "age": "25", "city": "北京"]\n注意这里age虽然是数字,但写成字符串是因为字典的类型推断会以当前值为准。如果想混用类型,最好明确指定类型为[String: Any]:
var userInfo: [String: Any] = ["name": "李华", "age": 30, "isMarried": false]\n\n读取和修改值
\n想看小明住哪儿,直接用键取值就行:
\nprint(person["city"]) // 输出:Optional(\"北京\")\n返回的是Optional,因为可能没这个键。保险起见可以用if let解包:
\nif let city = person["city"] {\n print("所在城市:$city)")\n}\n\n改数据也很方便。比如小明搬家了:
\nperson["city"] = "上海"\n\n加个新字段也一样操作:
\nperson["job"] = "程序员"\n\n删除某个键值对
\n不想保留某项时,用removeValue(forKey:):
person.removeValue(forKey: "job")\n执行完job就没了。
\n\n遍历字典
\n有时候需要把所有设置一项项展示出来,比如在调试页面列出用户信息:
\nfor (key, value) in userInfo {\n print("$key: $value)")\n}\n这样每一对都会打印出来,顺序不固定,因为字典本身无序。
\n\n合并两个字典
\n项目里可能有默认配置和用户自定义配置,可以合并处理:
\nvar 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刚开始不知道填啥内容,可以建个空字典:
\nvar settings: [String: String] = [:]\n// 或者\nvar data = [Int: Bool]()\n记得声明类型,不然Swift不知道你要存啥。
\n\n实际场景举例
\n比如做个天气App,请求接口时要传城市和单位:
\nlet 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开发"}