NSNotificationCenter 用法详解

本文深入探讨了NSNotificationCenter在iOS开发中的作用、如何注册通知与发送通知,以及注册方法的写法,旨在帮助开发者更好地理解并利用这一机制进行消息通信。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

作用:NSNotificationCenter是专门供程序中不同类间的消息通信而设置的.

注册通知:即要在什么地方接受消息

               [[NSNotificationCenter defaultCenter]  addObserver:self selector:@selector(方法名称:) name:@" 唯一标示" object:nil]

      参数介绍:

          addObserver: 观察者,即在什么地方接收通知;

        selector: 收到通知后调用何种方法;

        name: 通知的名字,也是通知的唯一标示,编译器就通过这个唯一标示在消息池中找到通知的。

发送通知:调用观察者处的方法。

           [[NSNotificationCenter defaultCenter] postNotificationName:@"mytest" object:searchFriendArray];

          参数:

         postNotificationName:通知的名字,也是通知的唯一标示,编译器就通过这个唯一标示在消息池中找到通知的。

                 object:传递的参数

注册方法的写法:

- (void) 方法名称:(NSNotification*) notification

{

   id obj = [notification object];//获取到传递的对象

   //此方法中实现监听消息后所要实现的方法



MobileVLCKit是一个功能强大的媒体播放框架,可以轻松地将视频和音频播放功能集成到iOS和tvOS应用程序中。下面是MobileVLCKit的一些使用详解: 1. 导入MobileVLCKit库 首先,需要将MobileVLCKit库导入到Xcode项目中。可以通过CocoaPods或手动添加库的方式进行导入。如果使用CocoaPods,只需要在Podfile文件中添加以下代码: ``` pod 'MobileVLCKit' ``` 然后在终端中运行`pod install`命令即可。 如果手动导入库,需要从VLC官网下载MobileVLCKit库并将其添加到Xcode项目中。 2. 创建VLCMediaPlayer对象 要使用MobileVLCKit播放视频和音频,需要创建一个VLCMediaPlayer对象。可以通过以下代码创建一个VLCMediaPlayer对象: ``` VLCMediaPlayer *mediaPlayer = [[VLCMediaPlayer alloc] initWithOptions:nil]; ``` 3. 设置媒体源 在创建VLCMediaPlayer对象后,需要设置要播放的媒体源。可以通过以下代码设置媒体源: ``` NSURL *mediaURL = [NSURL URLWithString:@"http://example.com/video.mp4"]; VLCMedia *media = [VLCMedia mediaWithURL:mediaURL]; [mediaPlayer setMedia:media]; ``` 这里将一个URL作为媒体源,并将其设置为VLCMediaPlayer对象的媒体属性。 4. 播放媒体 设置完媒体源后,就可以开始播放媒体了。可以通过以下代码启动播放: ``` [mediaPlayer play]; ``` 5. 控制播放 MobileVLCKit提供了一些方法来控制媒体播放,例如暂停、恢复、停止和调整音量等。以下是一些示例代码: ``` // 暂停播放 [mediaPlayer pause]; // 恢复播放 [mediaPlayer play]; // 停止播放 [mediaPlayer stop]; // 调整音量 [mediaPlayer setVolume:0.5]; ``` 6. 监听播放状态 可以通过VLCMediaPlayer的`state`属性获取当前播放状态。还可以通过监听`VLCMediaPlayerStateChangedNotification`通知来获取播放状态的变化。 ``` [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(mediaPlayerStateChanged:) name:VLCMediaPlayerStateChangedNotification object:nil]; - (void)mediaPlayerStateChanged:(NSNotification *)notification { VLCMediaPlayer *mediaPlayer = notification.object; switch (mediaPlayer.state) { case VLCMediaPlayerStateStopped: // 媒体已停止 break; case VLCMediaPlayerStatePaused: // 媒体已暂停 break; case VLCMediaPlayerStatePlaying: // 媒体正在播放 break; default: break; } } ``` 7. 自定义UI MobileVLCKit还提供了一些自定义UI的选项,例如自定义播放器控件和字幕渲染。可以通过设置VLCMediaPlayer的`drawable`属性来自定义播放器控件。可以通过设置VLCMediaPlayer的`subtitleDisplay`属性来自定义字幕渲染。 以上是MobileVLCKit的一些使用详解,希望对您有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值