我正在尝试从通知中获取objectForKey
,但我收到错误:anyobject does not have a membered named objectforkey
我使用的代码是:
func executeAlbum(notification:NSNotification){
let data = notification.userInfo.objectForKey("data") as [AlbumModel] // ERROR HERE
self.sources = data
self.albumTable?.reloadData()
}
有人可以告诉我它为什么不起作用以及等价物是什么?
由于
答案 0 :(得分:3)
objectForKey方法是NSDictionary
的方法,在您的情况下notification.userInfo
返回[NSObject : AnyObject]?
,其类型为Dictionary。从" swift dictionary"中获取对象你需要使用它的下标方法,所以:
func executeAlbum(notification:NSNotification){
let data:[AlbumModel]? = notification.userInfo?["data"] as? [AlbumModel] // ERROR HERE -> Not anymore
self.sources = data
self.albumTable?.reloadData()
}
应该做的工作
答案 1 :(得分:0)
notification.userInfo
类型为AnyObject
。因此,您无法使用objectForKey("")
,因为AnyObject不提供此方法。您可能需要投射notification.userInfo
,但我不知道背后是什么。