Swift无法将NSDictionaryM的值转换为NSData

问题描述 投票:-1回答:1
Output:    
({
    "Client Characteristic Configuration" = <41424344 45463132 31323334 35363738 45324441>;
})

Code : 
print("localName4", localName4)

if (localName4 != nil) {
    print("exists")

    if localName4 is Dictionary<AnyHashable,Any> {
        print("Yes, it's a Dictionary")

        do {
            if let jsonResult = try JSONSerialization.jsonObject(with: localName4 as! Data, options: []) as? NSDictionary {
                print(jsonResult)
            }
        } catch let error as NSError {
            print(error.localizedDescription)
        }
    }
}

我正在尝试从结果中获得价值<41424344 45463132 31323334 35363738 45324441>。当我尝试解析获得异常的值时:

无法将“NSDictionaryM”类型的值转换为“NSData”

swift nsdictionary
1个回答
0
投票

没有必要把它投射到Data并将其序列化为Dictionary。要从字典中访问值,只需通过键调用它们:

let configuration = localName4["Client Characteristic Configuration"]

如果localName4的声明类型不是[AnyHashable : Any],则在可能的情况下更改声明或将其转换为:

if let dict = localName4 as? [AnyHashable : Any] {
    let configuration = dict["Client Characteristic Configuration"]
    ...
}
© www.soinside.com 2019 - 2024. All rights reserved.