Ios cfNotificationCenter在Swift中添加观察者

Ios cfNotificationCenter在Swift中添加观察者,ios,iphone,swift,Ios,Iphone,Swift,在Swift中是否有CFNotificationCenterAddObserver的替代品? 在中,我只找到了对Objective-C的引用,但找不到任何与Swift一起使用的相关代码。有什么想法吗 我试图在Objective-C中编写的代码如下: CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), NULL, displayStatusChang

Swift
中是否有
CFNotificationCenterAddObserver
的替代品? 在中,我只找到了对Objective-C的引用,但找不到任何与Swift一起使用的相关代码。有什么想法吗

我试图在Objective-C中编写的代码如下:

CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(),
            NULL,
            displayStatusChanged,
            CFSTR("com.apple.iokit.hid.displayStatus"),
            NULL,
            CFNotificationSuspensionBehaviorDeliverImmediately);

编辑:我在中尝试使用的不是
NSNotification
(),而是
CFNotification
()。

CFNotificationCenterAddObserver现在在Swift中可用。看

func CFNotificationCenterAddObserver(uCenter:CFNotificationCenter!,
_观察员:非安全指针,
_回调:CFNotificationCallback,
_名称:CFString!,
_对象:UnsafePointer,
_暂停行为:CFNotificationSuspensionBehavior)

@martin-r您标记为重复的问题与另一个主题有关。请您复习一下好吗?您的回答是对的-我已经重新打开了问题。CFNotificationCenterGetDarwinNotifyCenter()和CFNotificationCenterRemoveObserver()在Swift中可用,但CFNotificationCenterAddObserver()不可用。(我的猜测是“回调函数”没有翻译成Swift。)你可能应该在苹果公司提交一份bug报告。@MartinR我认为这不是bug。我从一个苹果公司的人那里得知,他们只是希望你进入C来传递回调函数。@matt:好的,谢谢你提供的信息。-(但将CFNotification函数的一个子集公开给Swift并没有多大意义。)
func CFNotificationCenterAddObserver(_ center: CFNotificationCenter!,
                               _ observer: UnsafePointer<Void>,
                               _ callBack: CFNotificationCallback,
                               _ name: CFString!,
                               _ object: UnsafePointer<Void>,
                               _ suspensionBehavior: CFNotificationSuspensionBehavior)