iOS系统NSNotificationCenter中的常用通知名称

最近上班不太忙,整理了一些常用的系统通知名,网上有很多更齐全的文章,几乎把系统通知都找出来了,但是却没有中文介绍(点击查看),看完一脸懵逼,还得去问度娘什么意思。这里整理了一部分本人感觉常用的通知,并附上了中文含义,有的可能解释的不太贴切,如果有更恰当的解释欢迎指正。

//音频
AVF_EXPORT NSString *const AVAudioSessionInterruptionNotification                           //音频中断出现
AVF_EXPORT NSString *const AVAudioSessionRouteChangeNotification                            //系统的音频线路发生改变
AVF_EXPORT NSString *const AVAudioSessionMediaServicesWereLostNotification                  //媒体服务终止
AVF_EXPORT NSString *const AVAudioSessionMediaServicesWereResetNotification                 //媒体服务重新启动

//视频
AVF_EXPORT NSString *const AVPlayerItemTimeJumpedNotification                               // 播放时间跳跃
AVF_EXPORT NSString *const AVPlayerItemDidPlayToEndTimeNotification                         // 播放结束
AVF_EXPORT NSString *const AVPlayerItemFailedToPlayToEndTimeNotification                    // 没能播放到最后
AVF_EXPORT NSString *const AVPlayerItemPlaybackStalledNotification                          // 播放抛锚
AVF_EXPORT NSString *const AVPlayerItemNewAccessLogEntryNotification                        // 添加新的访问日志条目
AVF_EXPORT NSString *const AVPlayerItemNewErrorLogEntryNotification                         // 添加新的错误日志条目
 
MP_EXTERN NSString *const MPMediaLibraryDidChangeNotification;                              //媒体库发生改变
MP_EXTERN NSString *const MPMediaPlaybackIsPreparedToPlayDidChangeNotification           //后台准备播放发生改变
MP_EXTERN NSString *const MPMoviePlayerScalingModeDidChangeNotification;           //视频缩放填充模式发生改变
MP_EXTERN NSString *const MPMoviePlayerPlaybackDidFinishNotification;              //媒体播放完成或用户手动退出
MP_EXTERN NSString *const MPMoviePlayerPlaybackStateDidChangeNotification                   //播放状态改变
MP_EXTERN NSString *const MPMoviePlayerLoadStateDidChangeNotification                       //媒体网络加载状态改变
MP_EXTERN NSString *const MPMoviePlayerNowPlayingMovieDidChangeNotification //当前播放的媒体内容发生改变
MP_EXTERN NSString *const MPMoviePlayerWillEnterFullscreenNotification                      //将进入全屏
MP_EXTERN NSString *const MPMoviePlayerDidEnterFullscreenNotification                       //进入全屏后
MP_EXTERN NSString *const MPMoviePlayerWillExitFullscreenNotification                       //将要退出全屏
MP_EXTERN NSString *const MPMoviePlayerDidExitFullscreenNotification                        //退出全屏后
MP_EXTERN NSString *const MPMoviePlayerIsAirPlayVideoActiveDidChangeNotification         //当媒体开始通过AirPlay播放或者结束AirPlay
MP_EXTERN NSString *const MPMoviePlayerReadyForDisplayDidChangeNotification                 //视频显示状态改变
MP_EXTERN NSString *const MPMovieMediaTypesAvailableNotification                            //确定了媒体可用类型后
MP_EXTERN NSString *const MPMovieSourceTypeAvailableNotification                            // 确定了媒体来源后
MP_EXTERN NSString *const MPMovieDurationAvailableNotification                              //确定了媒体播放时长后
MP_EXTERN NSString *const MPMovieNaturalSizeAvailableNotification                           //确定了媒体的实际尺寸后
MP_EXTERN NSString *const MPMoviePlayerThumbnailImageRequestDidFinishNotification         //缩略图请求完成之后
MP_EXTERN NSString *const MPMoviePlayerTimedMetadataUpdatedNotification                     //同步元数据发生更新
MP_EXTERN NSString *const MPMoviePlayerContentPreloadDidFinishNotification                  //媒体内容预加载完成
MP_EXTERN NSString *const MPMusicPlayerControllerPlaybackStateDidChangeNotification;        //播放状态改变
MP_EXTERN NSString *const MPMusicPlayerControllerNowPlayingItemDidChangeNotification;       //播放内容改变
MP_EXTERN NSString *const MPMusicPlayerControllerVolumeDidChangeNotification;               //音量发生改变


//拍照/录像
AVF_EXPORT NSString *const AVCaptureDeviceWasConnectedNotification                          //输入设备已连接
AVF_EXPORT NSString *const AVCaptureDeviceWasDisconnectedNotification                       //输入设备失去连接
AVF_EXPORT NSString *const AVCaptureDeviceSubjectAreaDidChangeNotification                  //捕获区域发生改变
AVF_EXPORT NSString *const AVCaptureInputPortFormatDescriptionDidChangeNotification   //输入设备端口描述改变
AVF_EXPORT NSString *const AVCaptureSessionRuntimeErrorNotification                         //媒体会话运行错误
AVF_EXPORT NSString *const AVCaptureSessionDidStartRunningNotification                      //媒体会话开始运行
AVF_EXPORT NSString *const AVCaptureSessionDidStopRunningNotification                       //媒体会话停止运行
AVF_EXPORT NSString *const AVCaptureSessionWasInterruptedNotification                       //媒体会话中断
AVF_EXPORT NSString *const AVCaptureSessionInterruptionEndedNotification                    //媒体会话中断停止

//常用视图
UIKIT_EXTERN NSString *const UITableViewSelectionDidChangeNotification;                     //TableView选中发生改变

UIKIT_EXTERN NSString *const UITextFieldTextDidBeginEditingNotification;                    //TextField开始编辑
UIKIT_EXTERN NSString *const UITextFieldTextDidEndEditingNotification;                      //TextField发生改变
UIKIT_EXTERN NSString *const UITextFieldTextDidChangeNotification;                          //TextField结束编辑

UIKIT_EXTERN NSString * const UITextViewTextDidBeginEditingNotification;                    //TextView开始编辑
UIKIT_EXTERN NSString * const UITextViewTextDidChangeNotification;                          //TextView发生改变
UIKIT_EXTERN NSString * const UITextViewTextDidEndEditingNotification;                      //TextView结束编辑

UIKIT_EXTERN NSString *const UIWindowDidBecomeVisibleNotification;  //window激活并展示在界面的时候触发
UIKIT_EXTERN NSString *const UIWindowDidBecomeHiddenNotification;                           //当window隐藏的时候触发
UIKIT_EXTERN NSString *const UIWindowDidBecomeKeyNotification;      //当window被设置为keyWindow时触发
UIKIT_EXTERN NSString *const UIWindowDidResignKeyNotification;                   //当window的key位置被取代时触发
UIKIT_EXTERN NSString *const UIKeyboardWillShowNotification;                                //键盘将弹出
UIKIT_EXTERN NSString *const UIKeyboardDidShowNotification;                                 //键盘弹出
UIKIT_EXTERN NSString *const UIKeyboardWillHideNotification;                                //键盘将要隐藏
UIKIT_EXTERN NSString *const UIKeyboardDidHideNotification;                                 //键盘隐藏
UIKIT_EXTERN NSString *const UIKeyboardWillChangeFrameNotification                       //键盘frame将发生改变
UIKIT_EXTERN NSString *const UIKeyboardDidChangeFrameNotification                        //键盘frame发生改变后


//日期,时间
FOUNDATION_EXPORT NSString * const NSCalendarDayChangedNotification                         //日期发生改变
FOUNDATION_EXPORT NSString * const NSSystemClockDidChangeNotification                       //系统时钟发生改变
FOUNDATION_EXPORT NSString * const NSSystemTimeZoneDidChangeNotification                    //系统时区发生改变


//线程
FOUNDATION_EXPORT NSString * const NSWillBecomeMultiThreadedNotification;                   //将变成多线程
FOUNDATION_EXPORT NSString * const NSDidBecomeSingleThreadedNotification;                   //变成了单线程
FOUNDATION_EXPORT NSString * const NSThreadWillExitNotification;                            //线程退出


//程序
UIKIT_EXTERN NSString *const UIApplicationDidEnterBackgroundNotification                    //程序进入后台
UIKIT_EXTERN NSString *const UIApplicationWillEnterForegroundNotification                   //程序将进入前台
UIKIT_EXTERN NSString *const UIApplicationDidFinishLaunchingNotification;                   //程序加载完成
UIKIT_EXTERN NSString *const UIApplicationDidBecomeActiveNotification;                      //程序变成激活状态
UIKIT_EXTERN NSString *const UIApplicationWillResignActiveNotification;                     //程序将失去激活状态
UIKIT_EXTERN NSString *const UIApplicationDidReceiveMemoryWarningNotification;              //接收到内存警告
UIKIT_EXTERN NSString *const UIApplicationWillTerminateNotification;                        //程序将终止
UIKIT_EXTERN NSString *const UIApplicationSignificantTimeChangeNotification;         //新的一天开始或时区发生变化
UIKIT_EXTERN NSString *const UIApplicationWillChangeStatusBarOrientationNotification;       //将改变状态栏方向
UIKIT_EXTERN NSString *const UIApplicationDidChangeStatusBarOrientationNotification;        //状态栏方向以改变
UIKIT_EXTERN NSString *const UIApplicationWillChangeStatusBarFrameNotification;             //将改变状态栏frame
UIKIT_EXTERN NSString *const UIApplicationDidChangeStatusBarFrameNotification;              //状态栏frame发生改变
UIKIT_EXTERN NSString *const UIApplicationBackgroundRefreshStatusDidChangeNotification //后台刷新状态改变
UIKIT_EXTERN NSString *const UIApplicationUserDidTakeScreenshotNotification                 //截屏时触发通知

//硬件设备
UIKIT_EXTERN NSString *const UIDeviceOrientationDidChangeNotification;                      //设备方向改变
UIKIT_EXTERN NSString *const UIDeviceBatteryStateDidChangeNotification                      //电池状态改变
UIKIT_EXTERN NSString *const UIDeviceBatteryLevelDidChangeNotification                      //电池电量改变
UIKIT_EXTERN NSString *const UIDeviceProximityStateDidChangeNotification                    //距离感应器状态发生改变

//其它
UIKIT_EXTERN NSString *const UILocalNotificationDefaultSoundName                            //本地通知声音

UIKIT_EXTERN NSString *const UIPasteboardChangedNotification;                               //粘贴板发生改变
UIKIT_EXTERN NSString *const UIPasteboardRemovedNotification;                               //粘贴板内容移除
 
FOUNDATION_EXPORT NSString * const NSUserDefaultsDidChangeNotification;               //NSUserDefaults发生改变
FOUNDATION_EXPORT NSString * const NSBundleDidLoadNotification;                             //bundle加载完成


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
iOS ,可以使用通知NSNotification)机制来实现组件间的解耦和消息传递。通知是一种广播机制,一个组件可以发布(post)一个通知,其他组件可以订阅(observe)这个通知,并在接收到通知时执行相应的操作。下面是一个通知的实例说明。 假设我们有一个应用程序,在其有两个视图控制器 AViewController 和 BViewController。AViewController 有一个按钮,当用户点击按钮时,我们希望 BViewController 接收到一个通知,并在接收到通知时更新界面。 首先,在 BViewController ,我们需要注册一个通知观察者,代码如下: ``` - (void)viewDidLoad { [super viewDidLoad]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleNotification:) name:@"MyNotification" object:nil]; } - (void)dealloc { [[NSNotificationCenter defaultCenter] removeObserver:self]; } - (void)handleNotification:(NSNotification *)notification { // 处理通知 NSLog(@"Received notification: %@", notification); } ``` 在这里,我们使用 defaultCenter 对象注册了一个观察者,指定了通知名称为 MyNotification。当通知被发布时,handleNotification 方法会被调用,并且可以在方法处理通知。 接下来,在 AViewController ,我们需要发布一个通知,代码如下: ``` - (IBAction)postNotification:(id)sender { [[NSNotificationCenter defaultCenter] postNotificationName:@"MyNotification" object:nil userInfo:@{@"key": @"value"}]; } ``` 在这里,我们使用 defaultCenter 对象发布了一个通知,指定了通知名称为 MyNotification,没有指定通知的发送者,同时可以携带一些额外的信息,例如 userInfo 字典的键值对。 当用户点击 AViewController 的按钮时,就会触发 postNotification 方法,同时 BViewController 的 handleNotification 方法也会被调用,并且可以在其处理通知。 总之,通知机制是一种非常方便的组件间通信方式,可以实现解耦和消息传递。在使用通知时,需要注意及时注册和注销观察者,并且指定通知名称和携带的信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bright1st

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值