Ios 从NSDictionary桥接后如何从[NSObject:AnyObject]Swift字典中引用元素

Ios 从NSDictionary桥接后如何从[NSObject:AnyObject]Swift字典中引用元素,ios,objective-c,swift,Ios,Objective C,Swift,在我们的Swift应用程序中,调用Objective-C库时遇到问题。目标是引用已通过桥接头从NSDictionary转换的字典中的元素 目标C功能签名: vision (PBJVision *)vision capturedVideo:(nullable NSDictionary *)videoDict error:(nullable NSError *)error; 快速转换: func vision(vision: PBJVision, capturedVideo videoDict:

在我们的Swift应用程序中,调用Objective-C库时遇到问题。目标是引用已通过桥接头从
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]
,而Google references没有找到任何关于如何在NSObject是键时引用字典元素的信息。Xcode给出的错误是
找不到接受所提供参数的“subscript”的重载。

除非我误解了您的问题,否则您希望

let outputPath = videoDict[PBJVisionVideoPathKey]

密钥是PBJVisionVideoPathKey,而不是“objectForKey:PBJVisionVideoPathKey”


这可能不是最优雅的方法,但它起到了作用:

    let castedVideoDict = videoDict as! Dictionary<String, NSObject>        
    let filePath = castedVideoDict["PBJVisionVideoPathKey"] as! String
castedVideoDict=videoDict as!字典
让filePath=castedVideoDict[“PBJVisionVideoPathKey”]作为!一串

对不起,那是个打字错误。是的,我们试过了,但没用。对不起,那是个打字错误。是的,我们试过了,但没有成功。错误信息是什么。如果你不说,就很难弄清楚是什么错了。。。
    let castedVideoDict = videoDict as! Dictionary<String, NSObject>        
    let filePath = castedVideoDict["PBJVisionVideoPathKey"] as! String