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-10-15 13:49:44

Swift中的字典的相关文章

记OC迁移至swift中笔记20tips

写久了OC后来写swift,总感觉写着是swift的皮毛,但是实际上是OC的核心,这里整理了OC迁移至swift中的一些小细节. 1 在当前类中,实例方法调用属性以及方法都可以将self省略掉,而且是建议省略 2 selector是调用方法写法是:Selector("sayHello")或者是#selector(sayHello) 3 swift中不同类型的值之间不能直接做运算,所以不同类型值做运算的时候需要对值进行类型转化,都转化至同一类型之后方可做运算 4 可选类型如果一个变量可能

Swift 中的函数(上)

学习来自<极客学院:Swift中的字典> 工具:Xcode6.4 直接上基础的示例代码,多敲多体会就会有收获:百看不如一敲,一敲就会 1 import Foundation 2 3 //函数 4 /*1.定义函数的语法格式 5 func 函数名(形参列表) -> 返回值类型 { 6 //可执行语句组成的函数 7 } 8 */ 9 //定义和调用函数 10 func sayHello(personName: String) -> String{ 11 return "Hel

Swift中数组和字典都是值类型

在 Swift 中,所有的基本类型:整数(Integer).浮点数(floating-point).布尔值(Boolean).字符串(string).数组(array)和字典(dictionary),都是值类型,并且在底层都是以结构体的形式所实现.类是引用类型. 1.测试数组是否为值类型 var testArray = [String]() testArray.append("AA") testArray.append("BB") testArray.append(

Swift Explore - 关于 Swift 中的 isEqual 的一点探索

在我们进行 App 开发的时候,经常会用到的一个操作就是判断两个对象是否相等.比如两个字符串是否相等.而所谓的 相等 有着两层含义.一个是值相等,还有一个是引用相等.如果熟悉 Objective-C 开发的话,就会知道 Objective-C 为我们提供了一系列 isEqual: 方法来判断值相等,而 == 等于号用来判断引用相等. 我们来看一个 Objective-C 的例子就会更加明白了: NSArray *arr1 = @[@"cat",@"hat",@&qu

Swift Tips - 在 Swift 中自定义下标访问

Untitled Document.md input[type="date"].form-control,.input-group-sm>input[type="date"].input-group-addon,.input-group-sm>.input-group-btn>input[type="date"].btn,input[type="time"].input-sm,.form-horizontal

Swift中协议的简单介绍

熟悉objective-c语言的同学们肯定对协议都不陌生,在Swift中苹果将 protocol 这种语法发扬的更加深入和彻底.Swift语言中的 protocol 不仅能定义方法还能定义属性,配合 extension 扩展的使用还能提供一些方法的默认实现,而且不仅类可以遵循协议,现在的枚举和结构体也能遵循协议了.基于此本文从 1,协议中定义属性和方法 , 2,协议的继承.聚合.关联类型 , 3,协议的扩展 , 4,Swift标准库中常见的协议 , 5,为什么要使用协议 5个方面结合自身的学习经

阿里巴巴最新开源项目 - [HandyJSON] 在Swift中优雅地处理JSON

项目名称:HandyJSON 项目地址:https://github.com/alibaba/handyjson 背景 JSON是移动端开发常用的应用层数据交换协议.最常见的场景便是,客户端向服务端发起网络请求,服务端返回JSON文本,然后客户端解析这个JSON文本,再把对应数据展现到页面上. 但在编程的时候,处理JSON是一件麻烦事.在不引入任何轮子的情况下,我们通常需要先把JSON转为Dictionary,然后还要记住每个数据对应的Key,用这个Key在Dictionary中取出对应的Val

【iOS】Swift中扩展extension与协议protocol

一起连带前面几篇Playground小结代码都转到github上了,注释写了很多,主要方便自己以后可以翻翻看.Swift语法主要部分差不多就这些了.当然还有泛型.运算符重载.ARC.闭包之类的补充. 一.扩展(extension) 扩展 extension(类似OC中的分类,但Swift中没有名字), 即使在没有权限获取到原始代码的情况下,为类增加新功能. 注意: 只要定义了扩展, 那么该扩展对该类的实例都是可用的. extension SomeType{ //添加到SomeType的新功能写在

Swift 中枚举

Swift 中枚举高级用法及实践 字数11017 阅读479 评论0 喜欢20 title: "Swift 中枚举高级用法及实践"date: 2015-11-20tags: [APPVENTURE]categories: [Swift 进阶]permalink: advanced-practical-enum-examples 原文链接=http://appventure.me/2015/10/17/advanced-practical-enum-examples/作者=Benedik