Swift4.0 学习笔记 第九节:字典

本文详细介绍了Swift语言中字典的基本操作,包括定义、增删改查及合并等实用技巧。通过具体示例展示了如何使用Swift进行高效的数据管理。

//
//  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)
       
    }
}


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值