swift 集合类型(二)
说到swift的集合类型,就不得不谈到Dictionary。包含一个键值对组合的集合。
var air = ["name":"warner","title":"Math"]
var air = Dictionary<String,String>(minimumCapacity:3)
都可以初始化Dictionary。在swift中,Dictionary其实是一个结构:struct,继承自Collection。而Collection是一种协议protocol。他们都不是Object
Dictionary有subscript声明,所以可以直接使用下标来获取或者设置key的value。
air["son"] = "edward"
像上面这种通过下标来指定value的写法,如果存在该key,则直接改写value,否则,新增这个key-value pairs。另外,还提供了比较鸡肋的一种改变value的方法:
air.updateValue("andrew", forKey: "son")
与之前的直接通过下标修改value的作用是一样的。
同时,也可以通过下标的形式来移除对应的key
air["son"] = nil
上面的写法,会直接把son这个key从Dictionary中移除。另外,也可以通过removeValueForKey方法来移除
air.removeValueForKey("son")
结果一样的。
遍历整个数据集合的方法与数组类似:
for (key,val) in air{
println("\(key):\(val)")
}
Dictionary还有2个比较有意思的属性,可以直接以数组形式拿到整个Dictionary的keys和values
for key in air.keys{
println("\(key)")
}
for val in air.values{
println("\(val)")
}
总结:
1)Dictionary与json似是而非。通过构造函数初始化必须指定key与value的数据类型,否则值就得指定至少一对key-value pairs。用来确定这个Dictionary的数据类型。
2)可以通过下标来确定对应的key,用来增加或者删除pairs.
3)可以直接拉取整个dictionary的keys或者values,来作为数组操作。
4)可以使用removeAll方法来清空整个Dictionary.
swift 集合类型(二)的更多相关文章
- Swift 集合类型
Swift语言提供数组和字典的集合类型 Swift 语言里的数组和字典中存储的数据值类型必须明确 ,即数组中只能存放同类型的数据. 1: 数组 数组的创建 var shoppingList: St ...
- 浅谈Swift集合类型
Swift 的集合表现形式由数组和字典组成.它可以完美的存储任何呢想存储的东西. 数组是一个同类型的序列化列表集合,它用来存储相同类型的不同值.字典也是一个数组,但它的存值方式类似于Map,通过一对一 ...
- 6.Swift教程翻译系列——Swift集合类型
英文版PDF下载地址http://download.csdn.net/detail/tsingheng/7480427 Swift提供数组和字典两种集合类型.用来存储很多值的情况.数组有序的存储一组同 ...
- swift 集合类型(一)
基本的数组结构Array: var shoppingList: String[] = ["Eggs", "Milk"] 这个shoppingList和传统意义上 ...
- { MySQL基础数据类型}一 介绍 二 数值类型 三 日期类型 四 字符串类型 五 枚举类型与集合类型
MySQL基础数据类型 阅读目录 一 介绍 二 数值类型 三 日期类型 四 字符串类型 五 枚举类型与集合类型 一 介绍 存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己 ...
- 【Swift学习】Swift编程之旅---集合类型之数组(六)
swift提供了3种主要的集合类型,array,set,dictionary.本节介绍array. 数组是存储有序的相同类型的集合,相同的值可以多次出现在不同的位置. 注意: swift的Array类 ...
- Swift中的集合类型
一.引子: 在2014年10月TIOBE编程语言排行榜中,Swift位居第18位,从2014WWDC发布会首次公布至今不到半年时间,swift一直受到编程人 员的追捧,其热衷程度并不亚于当红巨星Tay ...
- Swift的基础,操作符,字符串和集合类型
这篇文章主要讲解苹果Swift官方指南的第二章前四节的要点内容,如果想看完整的英文文档可以去苹果开发者页面下载. Basic 声明常量let 声明变量var 注释依旧使用"//" ...
- The Swift Programming Language-官方教程精译Swift(5)集合类型 -- Collection Types
Swift语言提供经典的数组和字典两种集合类型来存储集合数据.数组用来按顺序存储相同类型的数据.字典虽然无序存储相同类型数据值但是需要由独有的标识符引用和寻址(就是键值对). Swift语言里的数 ...
随机推荐
- 安卓开发基础之tween动画基本使用,代码教学
xml代码块: <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:andro ...
- [Android]listview recycleview的复用问题
最近解决了几个bug,是关于listview和recycle view中的复用问题的: 为了提高性能,我们使用了viewHolder来减少view的生成,从而提高滑动的性能: 要注意一个很隐蔽 ...
- 学习 Docker - 入门
Docker简介 一种虚拟容器技术. 一种虚拟化分方案: 操作系统级别的虚拟化: 只能运行相同或相似内核的操作系统: 依赖与linux内核特性:Namespace和Cgroups(Control Gr ...
- “vmware tools 只能虚拟机中安装”的解决方法
vmware安装的一个大坑,最近在开发上需要用到centos 6.4,由于我本身的系统是win8所以决定使用虚拟机,选择了vmware,并且从网上下载的虚拟机的映像文件.中间安装了vmware8,安装 ...
- 安卓开发第一步:Android Studio安装配置
虽然本人是JAVA开发工程师平时主要开发Web App,但因为项目需求需要开发对应的移动端.一时又找不到合适的安卓开发人员,兄弟我只好被项目经理"抓来当壮丁了".俗话说好" ...
- Android Studio中怎么使用DDMS工具?
随着android studio的广泛使用,开发人员对相关工具的使用需求更加凸显.昨天在一个android studio教程网站上,看到一篇有关DDMS工具使用的相关知识,感觉很不错,分享给大家,一起 ...
- Javascript 优化项目代码技巧之语言基础(一)
Javascript的弱类型以及函数作用域等规则使用编写Javascript代码极为容易,但是编写可维护.高质量的代码却变得十分困难,这个系列的文章将总结在项目开发过程中,能够改善代码可读性. ...
- asp.net之treeview无法显示树结点图标(IP与域名的表现竟不一样)
背景 今天接到客户的电话,说部署上去的项目树型的treeview无法正常显示,显示成了好几个大红叉.如: 排查 于是我通过远程登录到服务器,在本地测试了一会发现没有这个问题存在,无论是通过IP ...
- 烂泥:NFS做存储与KVM集成
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 以前有关NFS的文章,我们介绍的都是NFS的使用挂载等等.这篇文章我们介绍有关NFS作为存储使用. 既然本篇文章的主题是有关NFS的,我们还是先把NFS ...
- C语言 复制字符串 malloc
今天在看前辈的代码,对其中字符串复制有时候直接把指针赋给另一个指针,有的malloc一个内存,然后把整个字符串的值拷贝过来,有点费解,就研究了一下,会了之后发现也没什么奥秘,其实很简单,不过还是记录一 ...