iOS通知NotificationCenter常用监听对象
iOS通知NotificationCenter常用监听对象

iOS通知NotificationCenter常用监听对象

iOS 通知NotificationCenter,内置了数百种通知。

下面将常用的监听对象(Notification Name),按功能场景进行分类整理,并标注了适用的平台(macOS / iOS)。

常用监听对象

1、应用程序生命周期

1)NSApplication.didBecomeActiveNotification:应用获得焦点(打开应用)。

2)NSApplication.willResignActiveNotification:应用失去焦点(离开应用)。

3)NSApplication.willTerminateNotification:应用即将退出(用于后台保存)。

4)UIApplication.didEnterBackgroundNotification:应用进入后台(用于停止动画、释放资源)。

5)UIApplication.willEnterForegroundNotification:应用回到前台(用于刷新数据)。

6)UIApplication.didFinishLaunchingNotification:应用启动完成。

2、键盘与输入

1)UIResponder.keyboardWillShowNotification:iOS键盘即将弹出。

2)UIResponder.keyboardWillHideNotification:iOS键盘即将隐藏。

3)NSTextView.didChangeSelectionNotification:macOS文本输入框光标移动或选中文本。

4)NSText.didChangeNotification:macOS文本输入框内容发生变化。

5)UITextField.textDidChangeNotification:iOS文本输入框内容发生变化。

3、系统环境与时间

1)NSCalendar.dayChangedNotification:时间跨天(从23:59变成00:00)。

2)NSLocale.currentLocaleDidChangeNotification:用户改变系统语言。

3)NSSystemClock.didChangeNotification:监听系统时间被手动修改。

4)UIApplication.userDidTakeScreenshotNotification:用户截图。

4、窗口与屏幕(macOS)

1)NSWindow.didResizeNotification:窗口大小被拖动改变。

2)NSWindow.didMoveNotification:窗口位置发生变化。

3)NSWindow.willCloseNotification:窗口即将关闭。

4)NSWindow.didMiniaturizeNotification:窗口最小化到Dock栏。

5)NSWorkspace.screensDidSleepNotification:屏幕休眠。

6)NSWorkspace.didWakeNotification:屏幕唤醒。

5、数据存储

1)NSManagedObjectContext.didSaveNotification:后台线程保存数据,主线程监听到合并的数据并刷新UI。

2)NSUbiquitousKeyValueStore.didChangeExternallyNotification:iCloud Key-Value更新数据,通知当前设备。

6、多媒体

1)AVPlayerItem.didPlayToEndTimeNotification:音频播放完毕(用于自动播放或循环播放)。

2)AVAudioSession.interruptionNotification:音频被打断(用于暂停播放和保存进度)。

7、硬件设备

1)UIDevice.batteryLevelDidChangeNotification:电量变化(用于低电量模式处理)。

2)UIDevice.orientationDidChangeNotification:屏幕旋转(用于检测横竖屏切换)。

查找特点对象的通知

在Xcode中,如果想要查看某个类有哪些通知,可以使用以下方法。

1、按住 Command 键点击类名。

2、进入定义问题。

3、在文档注释或Extension中搜索“Notifications”关键字。

4、看到类似的extension NSTextView.didChangeSelectionNotification 定义。

总结

通过NotificationCenter监听不同的对象,可以解决更复杂的问题,例如监听iCloud同步以及TextField的输入情况

相关文章

1、iOS通知机制NotificationCenter:https://fangjunyu.com/2025/03/01/ios%e9%80%9a%e7%9f%a5%e6%9c%ba%e5%88%b6notificationcenter/

2、SwiftUI监听iCloud数据变化:https://fangjunyu.com/2025/12/17/swiftui%e7%9b%91%e5%90%acicloud%e6%95%b0%e6%8d%ae%e5%8f%98%e5%8c%96/

3、SwiftUI ScrollView中的TextField无法监听拼音输入的问题:https://fangjunyu.com/2025/12/17/swiftui-scrollview%e4%b8%ad%e7%9a%84textfield%e6%97%a0%e6%b3%95%e7%9b%91%e5%90%ac%e6%8b%bc%e9%9f%b3%e8%be%93%e5%85%a5%e7%9a%84%e9%97%ae%e9%a2%98/

4、SwiftUI响应Combine的onReceive:https://fangjunyu.com/2025/07/15/swiftui%e5%93%8d%e5%ba%94combine%e7%9a%84onreceive/

5、Apple处理异步任务的Combine框架:https://fangjunyu.com/2024/12/01/apple%e5%a4%84%e7%90%86%e5%bc%82%e6%ad%a5%e4%bb%bb%e5%8a%a1%e7%9a%84combine%e6%a1%86%e6%9e%b6/

   

如果您认为这篇文章给您带来了帮助,您可以在此通过支付宝或者微信打赏网站开发者。

欢迎加入我们的 微信交流群QQ交流群,交流更多精彩内容!
微信交流群二维码 QQ交流群二维码

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注