Swift中的字典

学习来自《极客学院:Swift中的字典》

工具:Xcode6.4

直接上基础的示例代码,多敲多体会就会有收获:百看不如一敲,一敲就会

 1 import Foundation
 2  3 //字典的声明  4 var dic1: Dictionary <String,String>
 5 var scores: [String:Int]
 6 //然后是创建字典  7 dic1 = Dictionary<String,String>()
 8 scores = Dictionary<String,Int>(minimumCapacity: 5)
 9 10 var emptyDic: [String : Double] = [:]//空字典 11 println(emptyDic.isEmpty)
12 13 //通过常量和变量决定字典是否可变 14 var person = [ "age":18,
15 "name":"heyang",
16 "身高":178]
17 println(person["age"]!)
18 println(person["weight"])//不存在的key,返回为nil 19 person["name"] = "HeYang" 20 println(person["name"]!)
21 22 person["weight"] = 90 23 println("字典是无序的:\(person)")//对不存在的key设置value,字典将会添加key-value对
24 25 //var height: Int? = person["身高"]会报错,原因是person的元素都是NSObject所以上面的字典person是不严谨的 26 var person_1 = ["age":"18",
27 "name":"heyang",
28 "身高":"178"]
29 var height_1: String? = person_1["身高"]
30 if height_1 != nil {
31 println(height_1!)
32 }
33 //updateValue(value: Value, forKey: Key) 34 if let oldName = person_1.updateValue("180", forKey: "身高"){
35 println("原来的值是:\(oldName)")
36 }
37 println("现在的值是:"+person_1["身高"]!)
38 39 print("遍历:")
40 for (key,value) in person_1{
41 print("\(key) : \(value) ")
42 }
43 44 println()
45 //字典删除的方法 46 person.removeAll(keepCapacity: false)
47 person_1.removeValueForKey("身高")
48 println("删除之后person:\(person) 和 person_1:\(person_1)")
49 50 //取出字典当中的键值对 51 let keysArr = [String](person_1.keys)
52 let valuesArr = [String](person_1.values)
53 println("keysArr: \(keysArr)")
54 println("valuesArr: \(valuesArr)")


运行输出结果:

时间: 2024-08-02 16:14:34

Swift中的字典的相关文章

探讨Swift数组和字典_Swift

数组是一个存储多个相同类型的值的有序列表.相同的值,可以在不同的位置出现在一个数组中的多个次. Swift数组是具体的.他不同于Objective-C的的NSArray和NSMutableArray里的类,它可以存储任何类型的对象,不提供有关它们返回的对象的性质的任何信息.在斯Swift,一个特定的数组可以存储的值类型总是明确的,无论是通过显式类型批注,或通过类型推断,而不一定是类类型.如果创建诠释值的数组,例如,你不能插入比Int值以外的任何值到该数组.Swift数组是类型安全的,并且总是清楚

内存-在swift 中数组和字典是值类型,那么问题来了

问题描述 在swift 中数组和字典是值类型,那么问题来了 如果数组存放着大量图片,swift是值类型,将其拷贝,那内存不是吃力? OC 是直接告诉他内存地址 初学swift 如果打脸了,见谅 解决方案 Swift--数组和字典(一)Swift集合类型(数组和字典)Swift集合类型(数组和字典) 解决方案二: 你可以保存图片名称 或者适当时候释放数组

Swift数组、字典和集合

原文出自:标哥的技术博客 前言 Swift语言提供Array.Set和Dictionary三种基本的集合类型用来存储集合数据.数组是有序的数据集:集合是无序无重复的数据集:而字典是无序的键值对数组集. Swift的Array.Set和Dictionary类型被实现为泛型集合.因此,它所存储的元素的类型必须是一致的,同样,我们取出来的数据类型也是明确的. 集合的可变性(Mutability Of Collections) 如果创建一个Arrays.Sets或Dictionaries并且把它分配成一

Swift中使用可选类型完美解决占位问题

  这篇文章主要介绍了Swift中使用可选类型完美解决占位问题,本文讲解了为Dictionary增加objectsForKeys函数.Swift中更简便的方法.内嵌可选类型等内容,需要的朋友可以参考下 可选类型是Swift中新引入的,功能很强大.在这篇博文里讨论的,是在Swift里,如何通过可选类型来保证强类型的安全性.作为例子,我们来创建一个Objective-C API的Swift版本,但实际上Swift本身并不需要这样的API. 为Dictionary增加objectsForKeys函数

Swift 中的指针使用

Apple 期望在 Swift 中指针能够尽量减少登场几率,因此在 Swift 中指针被映射为了一个泛型类型,并且还比较抽象.这在一定程度上造成了在 Swift 中指针使用的困难,特别是对那些并不熟悉指针,也没有多少指针操作经验的开发者 (包括我自己也是) 来说,在 Swift 中使用指针确实是一个挑战.在这篇文章里,我希望能从最基本的使用开始,总结一下在 Swift 中使用指针的一些常见方式和场景.这篇文章假定你至少知道指针是什么,如果对指针本身的概念不太清楚的话,可以先看看这篇五分钟 C 指

在Swift中实现撤销功能

本文讲的是在Swift中实现撤销功能, 在过去的一段时间里,有很多的Blog推出了关于他们想在Swift中所添加的动态特性的文章.事实上Swift 已经成为了一门具有相当多动态特性的语言:它拥有泛型,协议, 头等函数(译者注1:first-class function指函数可以向类一样作为参数传递),和包含很多可以的动态操作的函数的标准库,比如map和filter等(这意味着我们可以利用更安全更灵活的函数来代替 KVC 来使用 字符串)(译者注2:KVC指Key-Value-Coding一个非正

Swift面向对象基础(上)——Swift中的类和结构体(上)

学习来自<极客学院> 1 import Foundation 2 3 //1.定义类和结构体 4 /* 5 [修饰符]calss 类名{ 6 零到多个构造器 7 零到多个属性 8 零到多个方法 9 零到多个下标 10 } 11 修饰符可以是:private public internal final 12 */ 13 14 /*定义结构体 15 [修饰符]struct 结构体名{ 16 17 } 18 修饰符可以是:private public internal 19 */ 20 21 /*

Swift中的条件判断、循环、跳转语句基础学习笔记_Swift

一.引言 一种编程语言的强大与否,很大程度上取决于其提供的程序流程控制方案,就如使用汇编语言实现复杂的程序流程是一件痛苦的事情.Swift中提供了许多强大的流程控制语句,例如快速遍历for-in,while循环,repeat-while循环,switch选择等,需要注意的是,在Swift2.2中,for(a;b;c)循环已经被弃用掉,并且Swift中的Switch语句也更加强大,可以处理任意数据类型. 二.for-in循环 配合范围运算符,for-in循环可以用来执行确定次数的循环,示例如下:

初步理解Swift中的泛型_Swift

如果你已经动手写过Swift的程序,相信你已经了解了Swift语言的知识,比如如何写类(class)和结构体(struct).但Swift可没这么简单,呵呵呵.这篇教程主要讲述Swift的一个强力的特性:泛型.这个特性在很多程序设计语言里都非常受欢迎. 对于类型安全(type-safe)语言,一个常见的问题就是如何编写适用于多种类型输入的程序.想象一下,两个整型数相加和两个浮点数相加的程序看起来应该非常类似,甚至一模一样才对.唯一的区别就是变量的类型不同. 在强类型语言中,你需要去定义诸如add