我需要从CFDictionary实例读取和写入一些数据(以读取和更新照片中的EXIF数据)。为了我的一生,我无法弄清楚如何在Swift 3中做到这一点。我想要的 call 的签名是:

func CFDictionaryGetValue(CFDictionary!, UnsafeRawPointer!)

如何将密钥(字符串)转换为UnsafeRawPointer,以便可以将其传递给此调用?

最佳答案

如果您不需要处理其他需要CFDictionary的Core Foundation函数,则可以通过转换为Swift本机Dictionary来简化它:

if let dict = cfDict as? [String: AnyObject] {
    print(dict["key"])
}

10-04 17:57