Swift 字典
来源:互联网 发布:已备案过期域名查询 编辑:程序博客网 时间:2024/06/06 12:58
Swift 字典用来存储无序的相同类型数据的集合,Swift 字典会强制检测元素的类型,如果类型不同则会报错。
Swift 字典每个值(value)都关联唯一的键(key),键作为字典中的这个值数据的标识符。
和数组中的数据项不同,字典中的数据项并没有具体顺序。
Swift 字典的key没有类型限制可以是整型或字符串,但必须是唯一的。
如果创建一个字典,并赋值给一个变量,则创建的字典就是可以修改的。这意味着在创建字典后,可以通过添加、删除、修改的方式改变字典里的项目。如果将一个字典赋值给常量,字典就不可修改,并且字典的大小和内容都不可以修改。
一、创建字典
- 1、使用以下语法来创建一个特定类型的空字典:
var someDict = [KeyType: ValueType]()
- 2、字典的初始化
let dict01 = Dictionary<Int, String>()let dict02 = [Int: String]()let dict03: Dictionary<Int, String> = [:]let dict04: [Int: String] = [:]
二、字典操作
1、访问字典
var someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"]print( "key = 1 的值为 \(someDict[1])" )print( "key = 2 的值为 \(someDict[2])" )print( "key = 3 的值为 \(someDict[3])" )
输出:
key = 1 的值为 Optional("One")key = 2 的值为 Optional("Two")key = 3 的值为 Optional("Three")
2、修改和添加字典
var someDict:[Int:String] = [1:"1", 2:"Two", 3:"Three"]someDict.updateValue("One", forKey: 1)print(someDict)someDict.updateValue("Five", forKey: 4)print(someDict)someDict[4] = "Four"someDict[5] = "Five"print(someDict)
输出:
[2: "Two", 3: "Three", 1: "One"][2: "Two", 3: "Three", 1: "One", 4: "Five"][5: "Five", 2: "Two", 3: "Three", 1: "One", 4: "Four"]
3、移除 Key-Value 对
var someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"]someDict.removeValue(forKey: 3)print(someDict)someDict[2] = nilprint(someDict)
输出:
[2: "Two", 1: "One"][1: "One"]
4、遍历字典
let someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"]for (key, value) in someDict { print("\(key) - \(value)")}for (key, value) in someDict.enumerated() { print("\(key) - \(value)")}
输出:
2 - Two3 - Three1 - One0 - (key: 2, value: "Two")1 - (key: 3, value: "Three")2 - (key: 1, value: "One")
5、count 属性
let someDict1: [Int: String] = [1: "One", 2: "Two", 3: "Three"]let someDict2: [Int: String] = [4: "Four", 5: "Five"]print("someDict1 含有 \(someDict1.count) 个键值对")print("someDict2 含有 \(someDict2.count) 个键值对")
输出:
someDict1 含有 3 个键值对someDict2 含有 2 个键值对
6、isEmpty 属性
let someDict1: [Int: String] = [1: "One", 2: "Two", 3: "Three"]let someDict2: [Int: String] = [4: "Four", 5: "Five"]let someDict3: [Int: String] = [Int: String]()print("someDict1 = \(someDict1.isEmpty)")print("someDict2 = \(someDict2.isEmpty)")print("someDict3 = \(someDict3.isEmpty)")
输出:
someDict1 = falsesomeDict2 = falsesomeDict3 = true
三、转换
1、字典转换为数组
let someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"]let dictKeys = [Int](someDict.keys)let dictValues = [String](someDict.values)print("输出字典的键(key)")for (key) in dictKeys { print("\(key)")}print("输出字典的值(value)")for (value) in dictValues { print("\(value)")}
输出:
输出字典的键(key)231输出字典的值(value)TwoThreeOne
阅读全文
0 0
- Swift字典
- Swift--字典
- Swift-字典
- Swift-字典
- Swift字典
- Swift 字典
- Swift-字典
- Swift字典
- Swift字典
- Swift 字典
- Swift字典
- Swift-字典
- swift字典
- Swift-字典
- Swift 字典
- swift字典
- swift字典
- swift字典
- cocos2d-x 3.x 事件相关源码接口
- tongue读音解析实例
- 【CSS布局】定位详解(二)
- EntityFramework6中管理DbContext的正确方式(三)【三种DbContext用法】
- struts2中关于同一xml、同一package下namespace与name关系
- Swift 字典
- HashTable 的rehash方法
- 视频容器格式与编码格式简介
- Unity Shader:Waveform波形(2)-基本波形:正弦,三角,锯齿,直角以及其变种的实现方式
- idea 破解
- Android图片加载框架最全解析(一),Glide的基本用法
- Sql Server基本操作语句
- java中引用的用法
- 任务切换的精华思想