4

我在互联网上搜索过,但找到的唯一方法是循环

- (void)userNotificationCenter:(NSUserNotificationCenter *)center didDeliverNotification:(NSUserNotification *)notification

如图所示:https ://stackoverflow.com/a/21365269/1795083

但是,我的应用有时会在很短的时间间隔内显示多个通知,因此这不是很有效也不是很有效。当按下垃圾桶按钮时,邮件应用程序如何处理它。必须至少有一个私有方法被调用。有人遇到过吗?提前致谢

4

2 回答 2

8

之后……嗯……“检查”邮件应用程序的代码……我在他们的通知控制器类中发现了一个可疑函数……

- (void)userNotificationCenter:(NSUserNotificationCenter *)center didDismissAlert:(NSUserNotification *)alert

我不知道为什么苹果不想将此功能添加到 NSUserNotificationDelegate ......但我在我的应用程序中测试了它并且它有效!

于 2016-07-04T21:34:32.703 回答
3

斯威夫特 >= 4版本:

@objc
func userNotificationCenter(_ center: NSUserNotificationCenter, didDismissAlert notification: NSUserNotification)

确保添加@objc注释,否则 Objective-C 运行时将无法看到您的委托方法。

于 2018-05-16T16:43:31.160 回答