NSDictationary类
admin
2023-02-10 13:00:10
0

        在foundation框架中,提供一种字典类,它是由键值对构成的集合,键和值集合的元素可以可以是任何对象,但是不能nil,Foundation框架字典也分为NSDictionary 不可变字典和 NSMutableDictionary可变字典


一、NSDictationary类

        

            NSDictionary有很多方法和属性,以下是常见的:


        1、-initWithDictionary 构造器,通过swift的Dictionary创建NSDictionary对象

        2、-initWithObjects:forKeys 构造器,通过键集合和值集合创建NSDictionary对象

        3、-count 字典集合的长度

        4、-objectForKeys  通过键获得值对象

        5、allKeys 返回所有键集合


        示例

    let keyString:NSString = "1 2 3 4 5"
    var keys:NSArray = keyString.componentsSeparatedByString(" ")
    
     let valueString:NSString = "alpha bravo charlie delta echo"
      var values:NSArray = valuesString.componentsSeparatedByString(" ")
        
        var dict:NSDictationary = NSDictionary(object:values,forKeys:kes)
        NSLog("%@",dict.description)
        var value:NSString = dict.objectForKey("3") as NSString
        NSLog("%@",value)
        var kys= dict.allKeys
        for item:AnyObject in kys{
            var key = item as NSString
            NSLog("%@,%@",key,dict.objectForKey(key) as NSString)
}

        




二、NSMutableDictionary类


        NSMutableDictionary类是NSDictionary类的子类,有很多方法和属性,以下是常用的:

    

        1、-setObjectForKey 

        2、-removeObjectForKey 按照键移除值


        示例

          var mutable:NSMutableDictionary = NSMutableDictionary();
           mutable.setObject("TOM",forKey:"tom@xx.com")
            mutable.setObject("BOB",forKey:"bob@xx.com")
            
            NSLog("%@",mutable.description)
            var keys= mutable.allKeys
            for item:AnyObject in keys {
                    var key = item as NSString
                    NSLog("%@,%@",key,mutable.objectForKey(key) as NSString)
}




三、NSDictionary 与  Dictionary


        NSDictionary 与 Dictionary之间的关系类似于NSArray和Array之间的关系,swift能够在底层将它们自动桥接起来,一个NSDictionary对象桥接之后的结果是[NSObject:AnyObject]


        示例:


  

      let keyString:NSString = "1 2 3 4 5"
        var keys:NSArray = keyString.componentsSeparatedByString(" ")
        let valueString:NSString = "Alpha bravo charlie delta echo"
        var values:NSArray = valueString.componentsSeparatedByString(" ")
        let foundationDict:NSDictionary = NSDictionary(objects:values,forKeys:keys)
        let swiftDict:Dictionary = foundationDict
        println(swiftDict.description)
        
        let value:AnyObject? = swiftDict["3"]
        println("value")
        for (key,value) in swiftDict {
                println("\(key):\(value)")
}


相关内容

热门资讯

多地官宣结婚生娃发钱,最高20... 近日,广东佛山顺德陈村镇大都村通过股东会议表决,将生育结婚奖励政策纳入《佛山市顺德区陈村镇大都村股份...
蒋万安、卢秀燕、谢国梁开记者会... 海峡导报综合报道 民进党当局核准台湾“中联”19批油品即日起重新上架,台“食药署”23日首度公布共计...
西门子洗衣机不工作了什么原因 西门子洗衣机不工作了什么原因1、可能是使用时间太久了,导致洗衣机内部零件出现了问题。2、可能是长时间...
不工作时西门子洗衣机一直响 1、洗衣机的电源电压过低导致西门子洗衣机一直响。2、洗衣机的电容器故障。3、洗衣机的转子卡住导致西门...
博世洗衣机泡沫过多机器不转了 可能是系统部分堵塞。要立即修复单次洗涤,在分配器抽屉上加一顶织物调节剂即可,最好在机器下次用水冲洗时...
14名残疾人用AI做了部爆款短... 执笔 王波日前,宁波众闻道软件科技有限公司负责人龙杰收到了6月份AI短剧收益报告。在公司当月上线的4...
小米洗衣机不运转了怎么修 小米洗衣机不运转,可能是由于多种原因引起的,可能是由于电源问题、电机损坏、控制面板故障等原因。下面是...
杂牌洗衣机不转了怎么办 如果杂牌洗衣机出现不转的故障,可能会造成很多麻烦。无法使用洗衣机会影响我们的日常生活,但是针对这个问...
晒出317万年终奖后,腾讯一员... 近日,有网友晒出疑似腾讯内部发布的通报:WXG某项目组负责人叶某在职期间,因私自泄露公司敏感信息,被...
公安部:国际打击电信网络诈骗联... 今天(24日)上午,国务院新闻办公室举行“开局起步‘十五五’”系列主题新闻发布会,公安部相关负责人介...