Quantcast
Channel: CSDN博客移动开发推荐文章
Viewing all articles
Browse latest Browse all 5930

swift字典

$
0
0

一、字典的声明

1、显示声明,定义字典里面数据类型

//字典显示声明的两种方式
var dict1:[String : String] = ["swift":"雨燕","python":"大蟒"]

var dict2:Dictionary<String,String> = ["swift":"雨燕","python":"大蟒"]

2、声明空字典

//声明空字典

var emptyDictionary1:[String : Int] = [:]

var emptyDictionary2:Dictionary<Int,String> = [:]

var emptyDictionary3 = [String:String]()

var emptyDictionary4 = Dictionary<Int,Int>()

二、常用用法

3、通过key获取value值

//返回可选性
print(dict1["swift"])

由于可能不存在key,所以返回可选型,这里需要解包操作

if let value = dict1["swift"]{

    print(dict1["swift"])
}

4、字典的常用方法

//取字典个数
dict1.count

//字典是否为空
dict1.isEmpty
emptyDictionary1.isEmpty

//字典所有key值得数组
Array(dict1.keys)

//字典所有value值得数组
Array(dict1.values)

//遍历所有key值
for key in dict1.keys {
    print(key)
}

//判断两个字典是否相等

let dic1 = [1:"A", 2:"B", 3:"C"]
let dic2 = [1:"A", 2:"B", 3:"C"]
dic1 == dic2

三、字典增删改操作

5、修改

var user = ["name":"lxy", "password":"swifter"]

user["password"] = "ios_developer"

//会返回修改之前的值(这个返回值用处很大)
let oldPassword = user.updateValue("ios_developer", forKey: "password")

if let oldPassword = oldPassword, newPassworld = user["password"] where oldPassword == newPassworld {

    print("注意:修改后的密码和之前的一样")
}

6、增加

//添加值
user["email"] = "999999999@qq.com"

//添加的时候这个方法返回nil
user.updateValue("999666@163.com", forKey: "webMail")

7、删除

//删除
user["webMail"] = nil

//返回被删除的值
//user.removeValueForKey("email")
//返回值应用
if let email = user.removeValueForKey("email"){
    print("email删除成功")
}

//全部删除
user.removeAll()
作者:u012903898 发表于2017/3/7 17:08:17 原文链接
阅读:67 评论:0 查看评论

Viewing all articles
Browse latest Browse all 5930

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>