在 NMAPositioningManager.h 中有这个常量:
FOUNDATION_EXPORT NSString *const NMAPositioningManagerDidUpdatePositionNotification;
我的代码在 swift 中
NotificationCenter.addObserver(self, forKeyPath: "positionDidUpdate", options: NSNotification.Name.NMAPositioningManagerDidUpdatePosition, context: NMAPositioningManager.shared())
灵感来自 Obj-C 中的这个例子:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(positionDidUpdate)
name:NMAPositioningManagerDidUpdatePositionNotification
object:[NMAPositioningManager sharedNMAPositioningManager]];
我的字段选项有误:
NavigationViewController.swift:30:84: Cannot convert value of type 'NSNotification.Name' to expected argument type 'NSKeyValueObservingOptions'
我必须输入什么才能使我的 Swift 代码正常工作?
编辑:使用 NotificationCenter 而不是 Notification
最佳答案
你应该在 default
单例上调用 addObserver.. 方法
应该是:
NotificationCenter.default.addObserver(self, selector: #selector(positionDidUpdate), name: NSNotification.Name.NMAPositioningManagerDidUpdatePosition, object: NMAPositioningManager.shared())
关于objective-c - 无法将类型 'NSNotification.Name' 的值转换为预期的参数类型 'NSKeyValueObservingOptions',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40652359/