(Я новичок в разработке Swift и iOS в целом).Чтение NSNotification userInfo в Swift
Я портирования некоторые Objective-C код к Swift, и я не знаю, как перевести это:
-(void) fooDidBar:(NSNotification *)notification
{
Foo* foo = [[notification userInfo] objectForKey:BarKey];
// do stuff with foo
}
До сих пор у меня есть это:
private func fooDidBar(notification: NSNotification) {
var foo: Foo = notification.userInfo.objectForKey(BarKey)
}
Но я получаю ошибка компиляции:
/Users/me/src-me/project/FooBarViewController.swift:53:57: Value of type '[NSObject : AnyObject]?' has no member 'objectForKey'
в userInfo
объявлен как NSDictionary
в UIApplicationShortcutItem.h
:
@property (nullable, nonatomic, copy) NSDictionary<NSString *, id <NSSecureCoding>> *userInfo;
... Я думал, что попробовать это:
= notification.userInfo[BarKey]
, но затем я получаю эту ошибку:
/Users/me/src-me/project/FooBarViewController.swift:53:65: Type '[NSObject : AnyObject]?' has no subscript members