美文网首页
swift-12字典

swift-12字典

作者: sunmumu1222 | 来源:发表于2017-08-30 09:05 被阅读9次

我以前做的swift笔记, 之前都是整理在onenote上, 最近想到整理出博客. 也方便自己查找, 可以当做自己的一份文档.

字典的定义 赋值

    func demo() {
        //oc定义字典使用 {}
        //swift中使用 []
        
        // [KEY: VALUE] -> [String: NSObject]
        let dict = ["name": "老张", "age": 15] as [String : Any]
        print(dict)
        
        //定义字典的数组  这种格式在 开发中使用的最多
        /**
            1 定义的最高节点是数组/字典
            2所有对象必须是 NSString NSNumber NSArray NSDictonary NSNull
            3所有的KEY 都是 NSStrings
            4NSNumber 不能为 nil 或则无穷大
         */
        
        let array = [
            ["name": "李", "age": 15],
            ["name": "王", "age": 14]
        ]
        print(array)
    }

字典的增删改

    func demo1() {
        // 可变 var 不可变 let
        var dict = ["name": "张", "age": 18] as [String: Any]
        
        //新增 如果KEY 不存在 就是新增
        dict["title"] = "大哥"
        print(dict)
        
        //修改 字典中 是通过KEY 取值 KEY 在字典中必须是唯一的
        //如果key存在 就是修改
        dict["name"] = "西瓜西瓜"
        
        //删除 直接给定 KEY
        // 科普 字典是通过 KEY 来定位值的 必须是可以 "hash" 哈希 MD5
        // hash 就是将字符串变成唯一的 '整数' 便于查找 提高字典遍历的速度
        dict.removeValue(forKey: "age")
        print(dict)
    }

字典的遍历

    func demo2() {
        let dict = ["name": "张", "age": 18, "title": "老师"] as [String: Any]
        
        //元祖 (key: String, value: NSObject)
        for e in dict {
            print("\(e.key) \(e.value)")
        }
        
        /**
            前面的 是 KEY 
            后面的 是VALUE
            具体的名字可以随便
         
            oc遍历 for in 只能获取到KEY
         */
        for (saf, abc) in dict {
            print("\(saf) \(abc)")
        }
    }

字典的合并

    func demo3() {
        var dict1 = ["name": "张", "age": 18, "title": "老师"] as [String: Any]
        let dict2 = ["name": "大瓜", "height": 1.9] as [String: Any]
        
        // 将 dict2 合并到 dict1
        // 提示 字典不能直接相加
        // 数组 可以直接相加
        // dict1 = dict1 + dict2
        
        // 思路 遍历dict2 一次设置
        // 如果KEY存在 会修改
        // 如果KEY 不存在 会新增
        for e in dict2 {
            dict1[e.key] = dict2[e.key]
        }
        print(dict1)
    }

相关文章

  • swift-12字典

    我以前做的swift笔记, 之前都是整理在onenote上, 最近想到整理出博客. 也方便自己查找, 可以当做自己...

  • Swift-12小demo

    day1-collectionView的拖拽借鉴XWDragCellCollectionView实现思路.使用sw...

  • Swift-12:泛型

    本文主要介绍泛型及其底层原理 泛型 泛型主要用于解决代码的抽象能力 + 代码的复用性 例如下面的例子,其中的T就是...

  • day9-课程总结

    1.字典 增:字典[key] = 值; 字典.setdefaule(key, 值);字典.update(字典)删:...

  • swift--字典

    创建字典 字典的基本操作 遍历字典 字典合并

  • Swift学习系列 字典的使用

    字典的概念 字典的初始化 字典元素的基本操作 字典的基本操作 字典的遍历 字典合并

  • 字典

    创建字典 访问字典中的值 修改、添加字典 修改字典中的值 在末尾增添新的键/值 删除字典元素 删除字典 清空字典 ...

  • 新2019计划:python学习-字典【4】

    字典 本篇章讲述数据结构字典,主要围绕如何访问字典,如何修改字典,如何删除字典某元素,如何遍历字典,字典的常见方法...

  • Swift 基础笔记 - 字典

    字典 定义同样使用 [] 定义字典let 不可变字典var 可变字典 定义空字典 字典常用操作赋值直接使用dict...

  • day8-函数基础

    2.字典 2.1操作字典 2.1.1. clear 字典.clear() 清空字典 2.1.2. copy 字典2...

网友评论

      本文标题:swift-12字典

      本文链接:https://www.haomeiwen.com/subject/ljszdxtx.html