Dictionary字典

2018-12-05  本文已影响0人  架构师的一小步

初始化

        //初始化方式1
        let dic=["productid":323129]
        //初始化方式2  <String,Int> key  (string类型)  value (Int类型)
        let dic1:Dictionary<String,Int>=["productid":323129]
        //初始化方式3
        let dic2:[String:Int]=["productid":323232]
        //初始化方式4
        let empty=Dictionary<String,Int>()
        //初始化方式5
        let empty1=[String:Int]()

获取值

   let id=dic["productid"]  //323129
   //dic没有给key为productid1设置值,所以会出现空
   let id=dic["productid1"] //nil

修改值

        var dic=["pro":323129]
        //将key为pro的值改为43345
        dic["pro"]=43345
        //修改key为pro的值变成22333,返回开始的值43345
        let oldId=dic.updateValue(22333, forKey: "pro")

删除值

        var dic=["pro":323129]
        //删除key为pro的value值
//        dic["pro"]=nil
        //如果这个key原来存在的话会返回这个key原来所对应的value
        let oldId=dic.removeValue(forKey: "pro1")
        //判断dic是否为空
        if dic.isEmpty
        {
            print("dic is empty")
        }

获取网址的key,value值

let url="http://www.kaola.com/?navindex=1&zn=top"
/**
 *第一种方式
 */
//获取url额components
let urlComponent=NSURLComponents(string: url)!
//取出components中的queryItems的key value
for queryItem in urlComponent.queryItems!{
    print(queryItem.name)
    print(queryItem.value)
}

/**
 *第二种方式
 */

//获取?的位置
let range=url.range(of: "?")!

//获取url在range和url.endIndex的值
let queryString=url[url.index(after: range.lowerBound)..<url.endIndex]
//对带&的进行拆分
let componts=queryString.components(separatedBy: "&")
//空字典
var parameters=[String:String]()
//循环遍历将值存到字典中
for component in componts{
    //对值进行二次拆分通过=号
   let keyValue=component.components(separatedBy: "=")
    parameters[keyValue[0]]=keyValue[1];
}
上一篇下一篇

猜你喜欢

热点阅读