我正在将应用程序转换为swift3并遇到以下问题。[NSObject:AnyObject]类型的字典没有成员“value(forKeyPath:...)”
@objc required init(response: HTTPURLResponse, representation: [NSObject : AnyObject])
{
if (representation.value(forKeyPath: "title") is String) {
self.title = **representation.value**(forKeyPath: "title") as! String
}
我收到以下错误:
Value of type [NSObject:AnyObject] has no member value.
在旧版本我只是用AnyObject类型为代表的代码,但如果我这样做,我得到的错误AnyObject is not a subtype of NSObject
有:
if (representation.value(forKeyPath: "foo") is String) {
let elementObj = Element(response: response, representation:**representation.value(forKeyPath: "foo")**!)
}
'NSObject'和'(forKeyPath:“title”)'不会很好。是否可以使用'[String:AnyObject]'? –
为什么不简单'self.title = representation [“title”]'? – vikingosegundo
你真的知道'value(forKeyPath:'应该做什么的方法吗? – vadian