寻找 Swift "ambiguous use of 'object(forKey:)'" 的修复
Looking for a fix for Swift "ambiguous use of 'object(forKey:)'"
我继承了一些我正在尝试编译的 Swift 代码。
以下两行生成“对象 (forKey:) 的使用不明确”错误。
let selectorString: String = (req as AnyObject).object(forKey: "selectorString") as! String
let args = (req as AnyObject).object(forKey: "arguments") as! NSArray
错误突出显示 req as AnyObject
是罪魁祸首。
我在 S.O 上发现了类似的问题,但 none 似乎解决了这个特定问题。我可能在搜索结果中遗漏了一些内容。
我希望这是一个简单的修复,因此我们将不胜感激。
一切都取决于req
是什么。如果它是可以转换为 AnyObject 并且响应 object(forKey:)
的东西,您的代码将编译并运行。例如:
let req : [String:Any] = ["selectorString":"hey", "arguments":["ho"]]
let selectorString: String = (req as AnyObject).object(forKey: "selectorString") as! String
let args = (req as AnyObject).object(forKey: "arguments") as! NSArray
但是,如果 req
无法转换为 AnyObject,则会出现编译错误。
我继承了一些我正在尝试编译的 Swift 代码。
以下两行生成“对象 (forKey:) 的使用不明确”错误。
let selectorString: String = (req as AnyObject).object(forKey: "selectorString") as! String
let args = (req as AnyObject).object(forKey: "arguments") as! NSArray
错误突出显示 req as AnyObject
是罪魁祸首。
我在 S.O 上发现了类似的问题,但 none 似乎解决了这个特定问题。我可能在搜索结果中遗漏了一些内容。
我希望这是一个简单的修复,因此我们将不胜感激。
一切都取决于req
是什么。如果它是可以转换为 AnyObject 并且响应 object(forKey:)
的东西,您的代码将编译并运行。例如:
let req : [String:Any] = ["selectorString":"hey", "arguments":["ho"]]
let selectorString: String = (req as AnyObject).object(forKey: "selectorString") as! String
let args = (req as AnyObject).object(forKey: "arguments") as! NSArray
但是,如果 req
无法转换为 AnyObject,则会出现编译错误。