Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何从NSMutableDictionary获取值_Ios_Swift_Nsmutabledictionary - Fatal编程技术网

Ios 如何从NSMutableDictionary获取值

Ios 如何从NSMutableDictionary获取值,ios,swift,nsmutabledictionary,Ios,Swift,Nsmutabledictionary,我试图从NSMutableDictionary中获取值,但我无法获取,因为它是多维的 { "seleted_days" = ( TUE, WED ); timings = ( ( ), ( ), ( { "close_t

我试图从
NSMutableDictionary
中获取值,但我无法获取,因为它是多维的

{
    "seleted_days" =     (
        TUE,
        WED
    );
    timings =     (
                (
        ),
                (
        ),
                (
                        {
                "close_time" = "05:00 AM";
                "open_time" = "02:00 AM";
                timelist = "02:00 AM , 03:00 AM , 04:00 AM , 05:00 AM";
                timestat = "1,0,0,1";
            }
        ),
                (
                        {
                "close_time" = "05:00 AM";
                "open_time" = "02:00 AM";
                timelist = "02:00 AM , 03:00 AM , 04:00 AM , 05:00 AM";
                timestat = "1,0,0,1";
            }
        ),
                (
        ),
                (
        ),
                (
        )
    );
}
需要从此
NSMutableDictionary

我的密码

let array:NSArray =  myretrievedic.value(forKey: "timings") as! NSArray
             for i in 0...array.count
             {

            let subArray:NSArray = array.object(at: i) as! NSArray
            if let dict:NSDictionary = subArray.object(at: 0) as! NSDictionary
            {

            let close_time:String = dict.value(forKey: "close_time") as! String
            let open_time:String = dict.value(forKey: "open_time") as! String


            print(open_time)
            print(close_time)
            }

当null出现时,即使我放入if-let语句,它也会崩溃。我不明白为什么if-let语句不工作

计时的值是一个数组

let dictionary:NSMutableDictionary = NSMutableDictionary()

    let array:NSArray =  dictionary .value(forKey: "timings") as! NSArray


    for i in 0...array.count
    {
        let subArray:NSArray = array.object(at: 2) as! NSArray

        if subArray.count > 0 {

            let dict:NSMutableDictionary = subArray.object(at: 0) as! NSMutableDictionary

            let close_time:String = dict.value(forKey: "close_time") as! String
            let open_time:String = dict.value(forKey: "open_time") as! String
        }
    }
这是一个仅使用Swift本机集合类型的本机Swift解决方案。它包括反序列化JSON的行
data
是JSON字符串,作为
data
utf8编码

do {       
    if let root = try JSONSerialization.jsonObject(with: data) as? [String:Any],
        let timings = root["timings"] as? [[Any]] {
        for timing in timings where !timing.isEmpty {
            if let times = timing.first as? [String:String] {
                let openTime = times["open_time"]!
                let closeTime = times["close_time"]!
                print(openTime, closeTime)
            }
        }
    }
} catch {
    print(error)
}

请出示您尝试过的代码,我认为您应该避免在swift中使用
NSMutableDictionary
,而是使用swift本机字典类型我需要获得所有打开时间和关闭时间