//
// ViewController.swift
// 012-字典
//
// Created by 庄壮勇 on 2018/1/4.
// Copyright © 2018年 Personal. All rights reserved.
//
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super . viewDidLoad ()
demo4 ()
}
// 4.合并
func demo4() {
var dict1:[ String : Any ] = [ "name" : "张" , "age" : 18 , "title" : "老板" ]
let dict2:[ String : AnyObject ] = [ "name" : "大瓜" as AnyObject , "height" : 1.9 as AnyObject ]
// 将dict2合并到dict1
// 提示: 字典不能直接相加
// 思路, 遍历dict2 依次设置
// 如果 key 存在, 会修改
// 如果 key 不存在,会新增!
for e in dict2 {
dict1[e.key] = dict2[e.key]
}
print (dict1)
}
// 3.遍历
func demo3() {
let dict:[ String : Any ] = [ "name" : "张" , "age" : 18 , "title" : "老板" ]
// 元组 (key: String, value: Any)
for e in dict {
print ( " \ ( e.key ) \ ( e.value )" )
}
print ( "-------" )
/**
前面的 是 KEY
后面的 是 VALUE
具体的名字可以随便
OC 遍历 for in 只能获取到只能获取到KEY
*/
for (key, value) in dict {
print ( " \ ( key ) \ ( value )" )
}
}
// 2.增删改
func demo2() {
// 可变 var / 不可变 let
var dict:[ String : Any ] = [ "name" : "张" , "age" : 18 ]
// 新增 - 如果 KEY 不存在,就是新增
dict[ "title" ] = "大哥"
print (dict)
// 修改 - 字典中, 是通过 KEY 取值,KEY在字典中必须是唯一的
// 如果 KEY 存在,就是修改
dict[ "name" ] = "大西瓜"
print (dict)
// 删除 - 直接指定 KEY
// *** 科普,字典是通过 KEY 来定位值的,KEY 必须是可以 ‘hash’ 哈希 ‘MD5 一种
// hash 就是讲字符串变成唯一的'整数',便于查找,提高字典遍历的速度
dict. removeValue (forKey: "age" )
print (dict)
}
// 1.定义
func demo1() {
// OC 定义字典使用{}
// Swift 中同样使用[]
// [KEY: VALUE] -> [String: NSObject]
let dict = [ "name" : "张" , "age" : 18 ] as [ String : Any ]
print (dict)
// 定义字典的数组 - 提示,这种格式在开发中使用的最多
let array:[[ String : Any ]] = [[ "name" : "张" , "age" : 18 ],[ "name" : "李" , "age" : 108 ]]
print (array)
}
}
// ViewController.swift
// 012-字典
//
// Created by 庄壮勇 on 2018/1/4.
// Copyright © 2018年 Personal. All rights reserved.
//
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super . viewDidLoad ()
demo4 ()
}
// 4.合并
func demo4() {
var dict1:[ String : Any ] = [ "name" : "张" , "age" : 18 , "title" : "老板" ]
let dict2:[ String : AnyObject ] = [ "name" : "大瓜" as AnyObject , "height" : 1.9 as AnyObject ]
// 将dict2合并到dict1
// 提示: 字典不能直接相加
// 思路, 遍历dict2 依次设置
// 如果 key 存在, 会修改
// 如果 key 不存在,会新增!
for e in dict2 {
dict1[e.key] = dict2[e.key]
}
print (dict1)
}
// 3.遍历
func demo3() {
let dict:[ String : Any ] = [ "name" : "张" , "age" : 18 , "title" : "老板" ]
// 元组 (key: String, value: Any)
for e in dict {
print ( " \ ( e.key ) \ ( e.value )" )
}
print ( "-------" )
/**
前面的 是 KEY
后面的 是 VALUE
具体的名字可以随便
OC 遍历 for in 只能获取到只能获取到KEY
*/
for (key, value) in dict {
print ( " \ ( key ) \ ( value )" )
}
}
// 2.增删改
func demo2() {
// 可变 var / 不可变 let
var dict:[ String : Any ] = [ "name" : "张" , "age" : 18 ]
// 新增 - 如果 KEY 不存在,就是新增
dict[ "title" ] = "大哥"
print (dict)
// 修改 - 字典中, 是通过 KEY 取值,KEY在字典中必须是唯一的
// 如果 KEY 存在,就是修改
dict[ "name" ] = "大西瓜"
print (dict)
// 删除 - 直接指定 KEY
// *** 科普,字典是通过 KEY 来定位值的,KEY 必须是可以 ‘hash’ 哈希 ‘MD5 一种
// hash 就是讲字符串变成唯一的'整数',便于查找,提高字典遍历的速度
dict. removeValue (forKey: "age" )
print (dict)
}
// 1.定义
func demo1() {
// OC 定义字典使用{}
// Swift 中同样使用[]
// [KEY: VALUE] -> [String: NSObject]
let dict = [ "name" : "张" , "age" : 18 ] as [ String : Any ]
print (dict)
// 定义字典的数组 - 提示,这种格式在开发中使用的最多
let array:[[ String : Any ]] = [[ "name" : "张" , "age" : 18 ],[ "name" : "李" , "age" : 108 ]]
print (array)
}
}