前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >swift Dictionary

swift Dictionary

作者头像
赵哥窟
发布2018-09-13 11:52:44
9640
发布2018-09-13 11:52:44
举报
文章被收录于专栏:日常技术分享日常技术分享

字典是一种存储多个相同类型的值的容器。每个值(value)都关联唯一的键(key),键作为字典中的这个值数据的标识符。字典中的数据项并没有具体顺序,我们在需要通过标识符(键)访问数据的时候使用字典。

创建一个空字典

var namesOfIntegers = [Int: String]() // namesOfIntegers 是一个空的 [Int: String] 字典

访问和修改字典

和数组一样,我们可以通过字典的只读属性 来获取某个字典的数据项数量:

var airports: [String: String] = ["YYZ": "Toronto Pearson", "DUB": "Dublin"] print("The dictionary of airports contains \(airports.count) items.") // 打印 "The dictionary of airports contains 2 items."(这个字典有两个数据项)

使用布尔属性isEmpty来快捷地检查字典的count属性是否等于0:

if airports.isEmpty { print("The airports dictionary is empty.") } else { print("The airports dictionary is not empty.") } // 打印 "The airports dictionary is not empty."

我们也可以在字典中使用下标语法来添加新的数据项

airports["LHR"] ="London"  // airports 字典现在有三个数据项

我们也可以使用下标语法来改变特定键对应的值:

airports["LHR"] = "London Heathrow"  // "LHR"对应的值 被改为 "London Heathrow

我们还可以使用下标语法来通过给某个键的对应值赋值为nil来从字典里移除一个键值对:

airports["LHR"] = nil  // LHR 现在被移除了

此外,removeValueForKey(_:)方法也可以用来在字典中移除键值对

字典遍历

我们可以使用for-in循环来遍历某个字典中的键值对。每一个字典中的数据项都以(key, value)元组形式返回,并且我们可以使用临时常量或者变量来分解这些元组:

for (airportCode, airportName) in airports { print("\(airportCode): \(airportName)") } // YYZ: Toronto Pearson // LHR: London Heathrow

通过访问 或者 属性,我们也可以遍历字典的键或者值:

for airportCode in airports.keys { print("Airport code: \(airportCode)") } // Airport code: YYZ // Airport code: LHR for airportName in airports.values { print("Airport name: \(airportName)") } // Airport name: Toronto Pearson // Airport name: London Heathrow

如果我们只是需要使用某个字典的键集合或者值集合来作为某个接受 实例的 API 的参数,可以直接使用k或者 属性构造一个新数组:

let airportCodes = [String](airports.keys) // airportCodes 是 ["YYZ", "LHR"] let airportNames = [String](airports.values) // airportNames 是 ["Toronto Pearson", "London Heathrow"]

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016.07.11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档