swift学习-字典(Dictionary)

字典类型快捷语法

  • swift的字典使用Dictionary<Key,Value>定义,其中Key是字典中键的数据类型,Value是字典中键的数据类型,Value是字典中对应于这些键所存储值的数据类型.
  • 我们也可以用[Key:Value]这样快捷的形势去创建衣蛾字典类型。虽然这两种形势功能上相同,但是后者是首选。

创建一个空字典

  • 用构造方法创建空字典:
var namesOfIntegers = [Int:String]()
  • 根据上下文创建空字典:
var namesOfIntegers = [Int:String]()
 namesOfIntegers[16] = "fdfd"
namesOfIntegers = [:]
//namesOfIntegers会被自动推断为Dictionary<Int,String>类型
  • 字面量创建空字典:
car airport = ["YYZ":"Toronto Pearson","DUB":"Dublin"]
//airport会被自动推断为Dictionary<Int,String>类型且有两个成员,成员之间用,隔开.

读取和修改字典

  • 通过count属性来获取字典的数据项数量
  • 使用isEmpty属性来快捷检查字典count属性是否等于0.
  • 可以使用下标语法来添加新的数据项。
var namesOfIntegers = [Int:String]()
namesOfIntegers["LHR"] = "London"
//为空字典namesOfIntegers添加了一个数据项
  • 用下标语法来访问一个数据项。
var namesOfIntegers = [Int:String]()
namesOfIntegers["LHR"] = "London"
if let oldValue = namesOfIntegers["LHR"]{
    //
}

字典的下标会返回一个字典值类型的可选值。如果这个字典包含请求键所对应的值,下标会返回一个包含这个存在值的可选值,否则将返回nil。

  • 我们可以使用下标语法来通过给某个键的对应值赋值为nil来从字典里移除一个键值对,或者调用removeValueForKer(_:)方法。

字典遍历

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

var namesOfIntegers = [Int:String]()
namesOfIntegers["LHR"] = "London"
for (airportCode,airportName) in namesOfIntegers{
   //airportCode为每一个数据项的key, airportName为对应的值
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容