美文网首页技术文iOS Developer我是程序员;您好程先生;叫我序员就好了
swift:关于获取字典的key数组或者是value数组的问题

swift:关于获取字典的key数组或者是value数组的问题

作者: 斯文_7 | 来源:发表于2016-05-18 21:05 被阅读6553次

    今天第一次尝试在项目中加入swift语言,但是在处理数据字典的时候,发生了点小问题,获取不到字典的key值数组?甚是郁闷
    结合代码来看:
    首先创建了一个数据字典

    // MARK: - 懒加载
        lazy var titleDic:[String: AnyObject] = {
            return ["First":["提现到银行卡", "我的提成", "我的积分", "我的优惠劵"],
                    "Second":["我的订单", "交易记录", "我的收藏夹", "地址管理"]]
        }()
    

    但是在获取所有key数组的却发生了问题:

    let keys = titleDic.keys
    print(keys)
    

    打印结果发现:(麻蛋,还是个字典啊)

    LazyMapCollection<Dictionary<String, AnyObject>, String>(_base: ["Second": <_TtCs21_SwiftDeferredNSArray 0x7fff396aa320>(
    我的订单,
    交易记录,
    我的收藏夹,
    地址管理
    )
    , "First": <_TtCs21_SwiftDeferredNSArray 0x7fff3b863fa0>(
    提现到银行卡,
    我的提成,
    我的积分,
    我的优惠劵
    )
    ], _transform: (Function))
    

    一直被这个问题纠结了很久,强转一下,解决问题

    // 其实只要使用一点小技巧就能解决了
    let keys = Array(titleDic.keys)
    print(keys)
    

    打印结果

    ["Second", "First"]
    

    OK解决了

    相关文章

      网友评论

        本文标题:swift:关于获取字典的key数组或者是value数组的问题

        本文链接:https://www.haomeiwen.com/subject/ylmwrttx.html