无法在Swift 3.0中向NotificationCenter添加观察者

时间:2016-09-22 11:22:14

标签: ios swift

我在Swift 3.0中添加通知观察器时遇到了问题。

代码如此:

NotificationCenter.default.addObserver(self, selector: .playerItemDidPlayToEndTime, name: Notification.Name(AVPlayerItemDidPlayToEndTimeNotification), object: playerItem)

我收到错误:"Cannot invoke value of type Notification.Name.type (aka NSNotification.Name.Type) with argument list (NSNotification.Name)"

使用:

AVF_EXPORT NSString *const AVPlayerItemDidPlayToEndTimeNotification      NS_AVAILABLE(10_7, 4_0);

我在这里做错了什么?

2 个答案:

答案 0 :(得分:1)

正如Martin R评论的那样,名称论证应该是:

NSNotification.Name.AVPlayerItemDidPlayToEndTime

完整的代码将是:

NotificationCenter.default.addObserver(self, selector: .playerItemDidPlayToEndTime, name: NSNotification.Name.AVPlayerItemDidPlayToEndTime, object: playerItem)

答案 1 :(得分:0)

不是这种情况,但也很重要:您需要在文件中import AVFoundation。在Swift中,进口大部分都不再需要,所以我倾向于在需要时忘记它们......