在我们的Swift应用程序中,我们在调用Objective库时遇到了困难。目的是通过桥接头引用从NSDictionary转换而来的字典中的元素。
目标-C函数签名:
vision (PBJVision *)vision capturedVideo:(nullable NSDictionary *)videoDict error:(nullable NSError *)error;快速转换:
func vision(vision: PBJVision, capturedVideo videoDict: [NSObject : AnyObject]?, error: NSError?)我们希望在Swift中提供以下内容:
outputPath = [videoDict objectForKey:PBJVisionVideoPathKey];我们尝试了videoDict["PBJVisionVideoPathKey"]和videoDict[PBJVisionVideoPathKey],而谷歌引用并没有提供任何关于如何引用字典元素的内容,而NSObjects是关键。Xcode给出的错误是Could not find overload for "subscript" that accepts the supplied arguments.
发布于 2015-06-22 06:26:54
也许不是最优雅的方法,但这起作用了:
let castedVideoDict = videoDict as! Dictionary<String, NSObject>
let filePath = castedVideoDict["PBJVisionVideoPathKey"] as! String发布于 2015-06-21 05:50:52
除非我误解了你的问题你想
let outputPath = videoDict[PBJVisionVideoPathKey]发布于 2015-06-21 06:35:36
关键是PBJVisionVideoPathKey,而不是"objectForKey:PBJVisionVideoPathKey“
videoDict[PBJVisionVideoPathKey]https://stackoverflow.com/questions/30961608
复制相似问题