`
119568242
  • 浏览: 426888 次
  • 性别: Icon_minigender_1
  • 来自: 深圳/湛江
社区版块
存档分类
最新评论

[ios]NSNotification

    博客分类:
  • ios
 
阅读更多

 

这是一个观察者模式。

    [[NSNotificationCenterdefaultCenter]addObserver:selfselector:@selector(receive:) name:nilobject:nil];

name:监听名称为xx的信息 如nil监听所有

object:监听object为xx的信息 如nil监听所有

 

-(void)receive:(NSNotification*)ns{

    NSLog(@"ns.name:%@",ns.name);

    NSLog(@"ns.object:%@",ns.object);

    NSLog(@"ns.userInfo size:%d",ns.userInfo.count);

    for(id a in ns.userInfo){

        NSLog(@"a:%@",a);

    }

 

}

 

NSNotification对象含有.name .object .userInfo 三个成员对象 分别为NSString NSObject NSDictionary

 

 

- (IBAction)btPressed:(id)sender {

    

    if(i%2){

        [[NSNotificationCenterdefaultCenter]postNotificationName:@"test"object:@"123"];

    }else{

        [[NSNotificationCenterdefaultCenter]postNotificationName:@"test"object:@"abc"];

 

    }

    i++;

    NSLog(@"button Pressed");

 

}

 

有三种发送方法

- (void)postNotification:(NSNotification *)notification;

- (void)postNotificationName:(NSString *)aName object:(id)anObject;

 

- (void)postNotificationName:(NSString *)aName object:(id)anObject userInfo:(NSDictionary *)aUserInfo;

实际上都一样 都是发送一个NSNotification 就是看你自己处理还是系统处理了。

分享到:
评论

相关推荐

    IOS NSNotification 键盘遮挡问题的解决办法

    本文将详细介绍如何通过NSNotification解决iOS中的键盘遮挡问题。 首先,我们需要了解键盘的通知类型:UIKeyboardDidShowNotification 和 UIKeyboardDidHideNotification。这两个通知分别在键盘显示和隐藏时发送,...

    iOS开发之通知NSNotificationDemo

    在iOS开发中,NSNotification是Objective-C中的一个关键概念,它属于Foundation框架,用于对象间通信。NSNotification机制允许对象广播消息给其他对象,而无需这些对象之间有直接的引用关系,这种设计模式被称为发布...

    delegate、NSNotification、block比较

    在iOS和macOS开发中,`delegate`、`NSNotification`和`block`是三种常见的对象间通信机制。它们各自有着不同的特性和应用场景,理解这些差异对于优化代码结构和提高程序性能至关重要。 首先,我们来看看`delegate`...

    IOS5 基础教程 源代码

    9. **通知与代理**:理解NSNotification和Delegate协议是iOS编程的关键,源码会展示如何在对象间通信和监听特定事件。 10. **Core Location**:iOS 5引入了用于获取地理位置信息的Core Location框架。学习如何请求...

    IOS实战项目(项目架构)

    总结来说,"iOS实战项目(项目架构)"涵盖了从项目规划到实际编码的各种核心知识点,包括选择合适的架构模式、运用委托代理进行对象间通信以及利用NSNotification实现全局事件监听。这些内容对于iOS开发者来说,无论是...

    iOS 简单豆瓣源代码

    iOS中的NSNotification机制允许对象之间进行异步通信,无需直接耦合。当一个对象需要向其他对象广播消息时,可以发送一个通知,接收者可以通过注册监听器来响应这些通知。在“简单豆瓣”应用中,可能会用到通知来...

    ios 音乐播放器代码

    通知中心(NSNotification)是iOS中传递事件的一种方式,播放器可能利用它来通知其他视图或控制器当前的播放状态,如播放、暂停、结束等。 最后,性能优化也是关键。例如,音频缓冲策略可以确保流畅的播放体验,...

    ios-iOS 纯代码基础框架 包括各种分类干货.zip

    - NSNotificationCenter:了解如何发布和接收NSNotification进行事件传递。 9. **图片加载与缓存**: - SDWebImage库:学习集成第三方库,实现网络图片的加载和缓存。 10. **权限管理**: - 获取用户权限:如...

    IOS应用源码之【应用】iphone-wireless-扫描WiFi信号.rar

    这涉及到NSNotification或Delegate模式。 9. **数据持久化**: 如果应用需要保存用户的偏好设置或扫描记录,可能会使用UserDefaults、CoreData或者SQLite数据库。 10. **测试与调试**: iOS开发者需要使用Xcode ...

    iOS-OC-获取WiFi信息

    - (void)networkChanged:(NSNotification *)note { NetworkStatus status = [reach currentReachabilityStatus]; if (status == ReachableViaWiFi) { NSLog(@"已连接到WiFi"); } else { NSLog(@"未连接到WiFi或...

    iOS截屏录屏处理

    在Swift中,我们可以监听屏幕截图事件,通过`NSNotification.Name.UIApplicationDidReceiveRemoteNotification`通知来判断是否发生了截屏操作。以下是一个简单的示例代码: ```swift import UIKit class ...

    ios资料,学习资料,基础资料

    8. **通知与代理**:理解NSNotification和Delegate模式,它们是iOS中组件间通信的重要方式。 9. **动画**:Core Animation是iOS中强大的动画框架,用于创建流畅的视觉效果。 10. **推送通知**:理解Apple Push ...

    ios 毕业设计 音乐播放器

    9. **通知与代理**:为了实现实时更新,如音乐播放进度,可以使用KVO(Key-Value Observing)或NSNotification,或者采用代理模式来传递信息。 10. **性能优化**:考虑到音乐文件的大小,优化下载和播放性能是很...

    ios 视频播放器:AVPlayer(附:seektotime精准定位) - iOS知识库1

    - (void)itemDidFinishPlaying:(NSNotification *)notification { AVPlayerItem *playerItem = notification.object; [playerItem seekToTime:kCMTimeZero]; [player play]; } ``` 此外,还可以监听AVPlayer的...

    ios5 Notification示例

    在iOS开发中,Notification是一种非常重要的通信机制,它允许应用程序的不同组件之间相互通信,而无需直接耦合。本文将详细讲解iOS中的Notification机制,以及如何在iOS 5中使用Notification进行参数传递。 首先,...

    iOS各种的代码

    7. **通知(Notification)**:通过NSNotification和NSNotificationCenter,可以在应用程序的不同部分之间传递消息。包括本地通知和远程推送通知。 8. **动画**:利用CAAnimation和UIView的动画方法可以创建丰富的...

    iOS 设计模式 观察者模式

    在iOS中,通常使用`NSNotification`、KVO(Key-Value Observing)以及协议和代理来实现这一模式。 1. **NSNotification**:苹果提供的系统级观察者模式实现。开发者可以注册观察者去监听特定的通知,当被观察的对象...

    iOS Notification正向传值

    在iOS中,NSNotification是Foundation框架的一部分,用于在应用程序的各个部分之间发送消息。这些消息可以是简单的事件通知,也可以包含额外的数据,即所谓的“传值”。 **创建Notification** 创建一个...

    iOS电量显示

    - (void)batteryStatusChanged:(NSNotification *)notification { UIDevice *device = [UIDevice currentDevice]; UIDeviceBatteryState batteryState = device.batteryState; float batteryLevel = device....

Global site tag (gtag.js) - Google Analytics