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

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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值