博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
swift学习第七天:字典
阅读量:4965 次
发布时间:2019-06-12

本文共 1615 字,大约阅读时间需要 5 分钟。

字典的介绍

  • 字典允许按照某个键来访问元素
  • 字典是由两部分集合构成的,一个是键(key)集合,一个是值(value)集合
  • 键集合是不能有重复元素的,而值集合是可以重复的,键和值是成对出现的
  • Swift中的字典
    • Swift字典类型是Dictionary,也是一个泛型集合

 

import UIKit// 1.字典的定义// 1>不可变字典(let)// 注意:1:在swift中无论是数组还是字典都是使用[],但是如果[]中存放的是元素,编译器会认为是一个数组.如果[]中存放的是键值对,编译器会认为是一个字典. 2:如果字典中的value值的类型都是相同的,那么不用做类型转换,也就是不用加as [String : Any](字典和数组中都可以存放基本的数据类型,在swift中基本的数据类型也被看做是对象),如果在字典中的value值的类型都相同,则就不需要添加类型转换,转为as [String : Any]let dict = ["name" : "why", "age" : 18, "height" : 1.88] as [String : Any]let dictQ = ["hello":"1","bhe":"2","hahdfiasdf":"234"]// 2>可变字典(var):字典,数组,元组都是泛型集合,所以必须在初始化的时候,规定其里面的元素类型,如果规定value值是AnyObject,则对字典进行赋值的时候,dictM["age"] = 18 as AnyObject?,类型推到不能知道它是Int类型还是AnyObject类型,所以需要进行类型转换,as AnyObject?// var dictM = Dictionary
()var dictM = [String : AnyObject]()// 2.对可变字典的操作// 2.1.添加元素// dict["weight"] = 60 错误写法dictM["name"] = "why" as AnyObject?dictM["age"] = 18 as AnyObject?dictM["heihgt"] = 1.88 as AnyObject?dictM["weight"] = 75 as AnyObject?// 2.2.删除元素dictM.removeValue(forKey: "name")// 2.3.修改元素// 注意:如果有对应的key,则修改对应的value,如果没有对应的key,则添加对应的键值对dictM["age"] = 30 as AnyObject?dictM// 2.4.获取元素dictM["weight"]// 3.遍历字典// 3.1.遍历所有的keyfor key in dictM.keys { print(key)}// 3.2.遍历所有的valuefor value in dictM.values { print(value)}// 3.3.遍历所有的key/valuefor (key, value) in dictM { print(key) print(value)}// 4.合并字典// 注意:字典即使类型一直也不可以先加合并let tempDict : [String : AnyObject] = ["phoneNum" : "+86 110" as AnyObject, "sex" : "男" as AnyObject]//let resultDict = tempDict + dictMfor (key, value) in tempDict { dictM[key] = value}dictM

 

转载于:https://www.cnblogs.com/cqb-learner/p/5884014.html

你可能感兴趣的文章
Insert excel data into DB
查看>>
复制和输入-编程中
查看>>
SQLSERVER 处理两个日期相减
查看>>
区间+状压 [Haoi2016]字符合并
查看>>
ubuntu重新加载nginx配置文件
查看>>
Forbidden You don't have permission to access / on this server.
查看>>
Windows server 2008 R2中安装MySQL !
查看>>
Intellij Idea新建web项目(转)
查看>>
raspberry 安装apache2,使其支持ssl ,并创建自签名证书
查看>>
Trie树:应用于统计和排序
查看>>
C语言结构体和函数
查看>>
PHP 删除目录及目录下文件
查看>>
[BZOJ3449] [Usaco2014 Feb]Secret Code
查看>>
XHTML与HTML区别
查看>>
软考-程序设计语言基础(编译原理)
查看>>
2016峰会:项目管理与高级项目管理(广州站)
查看>>
用JAVA编写浏览器内核之实现javascript的document对象与内置方法
查看>>
linux 命令之top
查看>>
有关远程设置的问题
查看>>
BZOJ 1800: [Ahoi2009]fly 飞行棋
查看>>