Swift中的NSNotificationCenter addObserver

如何在Swift中将观察者添加到默认通知中心?我正在尝试移植此行代码,以便在电池电量变化时发送通知。

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(batteryLevelChanged:) name:UIDeviceBatteryLevelDidChangeNotification object:nil];

回答:

与Objective-C API相同,但是使用Swift的语法。

NotificationCenter.default.addObserver(

self,

selector: #selector(self.batteryLevelChanged),

name: UIDevice.batteryLevelDidChangeNotification,

object: nil)

如果您的观察者没有从Objective-C对象继承,则必须@objc使用方法作为前缀,才能将其用作选择器。

@objc private func batteryLevelChanged(notification: NSNotification){     

//do stuff using the userInfo property of the notification object

}

请参阅NSNotificationCenter类参考,与Objective-C

API交互

以上是 Swift中的NSNotificationCenter addObserver 的全部内容, 来源链接: utcz.com/qa/405811.html

回到顶部