通知中心 - NSNotificationCenter

---恢复内容开始---

NS_ASSUME_NONNULL_BEGIN

/**************** Notifications ****************/

// 通知,被发送,被接受。

@interface NSNotification : NSObject <NSCopying, NSCoding>

通知的名字

@property (readonly, copy) NSString *name;

具体某一个对象。

@property (nullable, readonly, retain) id object;

参数信息

@property (nullable, readonly, copy) NSDictionary *userInfo;

初始化一个 通知 对象

name     将来又谁来接受,(发送给谁)

object    具体的某一个对象,或者为nil,

userInfo  附加的信息,参数

- (instancetype)initWithName:(NSString *)name object:(nullable id)object userInfo:(nullable NSDictionary *)userInfo NS_AVAILABLE(10_6, 4_0) NS_DESIGNATED_INITIALIZER;

- (nullable instancetype)initWithCoder:(NSCoder *)aDecoder NS_DESIGNATED_INITIALIZER;

@end

@interface NSNotification (NSNotificationCreation)

初始化一个通知

+ (instancetype)notificationWithName:(NSString *)aName object:(nullable id)anObject;

同上

+ (instancetype)notificationWithName:(NSString *)aName object:(nullable id)anObject userInfo:(nullable NSDictionary *)aUserInfo;

- (instancetype)init /*NS_UNAVAILABLE*/; /* do not invoke; not a valid initializer for this class */

@end

/**************** Notification Center ****************/

@interface NSNotificationCenter : NSObject {

@package

void * __strong _impl;

void * __strong _callback;

void *_pad[11];

}

单利,获取通知中心,来注册,或者发送通知。一定是 先注册,后发送。不然,无效。

+ (NSNotificationCenter *)defaultCenter;

注册通知,(监听通知)

- (void)addObserver:(id)observer selector:(SEL)aSelector name:(nullable NSString *)aName object:(nullable id)anObject;

发送通知

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

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

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

移除通知

- (void)removeObserver:(id)observer;

- (void)removeObserver:(id)observer name:(nullable NSString *)aName object:(nullable id)anObject;

- (id <NSObject>)addObserverForName:(nullable NSString *)name object:(nullable id)obj queue:(nullable NSOperationQueue *)queue usingBlock:(void (^)(NSNotification *note))block NS_AVAILABLE(10_6, 4_0);

// The return value is retained by the system, and should be held onto by the caller in

// order to remove the observer with removeObserver: later, to stop observation.

@end

NS_ASSUME_NONNULL_END

---恢复内容结束---

时间: 2024-10-15 12:07:06

通知中心 - NSNotificationCenter的相关文章

第二十六篇:通知中心 NSNotificationCenter

1.通知中心(NSNotificationCenter) ?每一个应用程序都有一个通知中心(NSNotificationCenter)实例,专门负责协助不同对象之间的消息通信 ?任何一个对象都可以向通知中心发布通知(NSNotification),描述自己在做什么.其他感兴趣的对象(Observer)可以申请在某个特定通知发布时(或在某个特定的对象发布通知时)收到这个通知 2.通知(NSNotification) >一个完整的通知一般包含3个属性: - (NSString*)name; // 通

通知中心(NSNotificationCenter)

•通知机制 •掌握 •通知的发布 • •通知的监听 • •通知的移除 •通知中心(NSNotificationCenter) •每一个应用程序都有一个通知中心(NSNotificationCenter)实例,专门负责协助不同对象之间的消息通信 •任何一个对象都可以向通知中心发布通知(NSNotification),描述自己在做什么.其他感兴趣的对象(Observer)可以申请在某个特定通知发布时(或在某个特定的对象发布通知时)收到这个通知 •通知(NSNotification) •一个完整的通知

第二十一讲.UICollectionView(集合视图)以及瀑布流效果, 通知中心(NSNotificationCenter).

一.集合视图(UICollectionView) 1.集合视图的概念 2.如何创建 3.集合视图的布局UICollectionViewFlowLayout 4.自定义cell和 布局协议UICollectionViewDelegateFlowLayout 使用时cell一般选择自定义,而在布局时候要使用代理. UICollectionView的基本使用示例代码分析: #import "ViewController.h" #import "CollectionReusableV

iOS开发UI篇—通知中心(NSNotificationCenter)

一.通知中心(NSNotificationCenter) 每一个应用程序都有一个通知中心(NSNotificationCenter)实例,专门负责协助不同对象 之间的消息通信 •任何一个对象都可以向通知中心发布通知(NSNotification),描述自己在做什么.其他感兴趣的对象(Observer)可以申请在某个特定通知发布时(或在某个特定的对象发布通知时) 二.通知(NSNotification) • 一个完整的通知一般包含3个属性: - (NSString *)name;// 通知的名称

iOS开发UI篇章之通知中心(NSNotificationCenter)

一.通知中心(NSNotificationCenter) 每一个应用程序都有一个通知中心(NSNotificationCenter)实例,专门负责协助不同对象 之间的消息通信 • 任何一个对象都可以向通知中心发布通知(NSNotification),描述自己在做什么.其他感 兴趣的对象(Observer)可以申请在某个特定通知发布时(或在某个特定的对象发布通知时) 二.通知(NSNotification) •一个完整的通知一般包含3个属性: Ø- (NSString *)name; // 通知的

iOS 通知中心 NSNotificationCenter

iOS开发中,每个app都有一个通知中心,通知中心可以发送和接收通知. 在使用通知中心 NSNotificationCenter之前,先了解一下通知 NSNotification. NSNotification 可以理解为消息对象,包含三个成员变量,如下: @property (readonly, copy) NSString *name; @property (nullable, readonly, retain) id object; @property (nullable, readonl

IOS开发 - 通知中心(NSNotificationCenter)

通知中心(NSNotificationCenter) 每一个应用程序都有一个通知中心(NSNotificationCenter)实例,专门负责协助不同对象之间的消息通信 任何一个对象都可以向通知中心发布通知(NSNotification),描述自己在做什么.其他感兴趣的对象(Observer)可以申请在某个特定通知发布时(或在某个特定的对象发布通知时)收到这个通知 通知(NSNotification) 一个完整的通知一般包含3个属性: - (NSString *)name; //通知的名称 -

iOS通知中心 NSNotificationCenter详解

NSNotificationCenter的适用场景,原理机制,使用步骤等. 通知中心的使用顺序:先确保注册了观察者,因为发送通知是一瞬间的事,如果没有注册观察者,发送通知后再注册是不会收到的. 总结:通知只会发送给当前监听着的对象. 代码 //注册通知  在关心该通知的页面注册监听 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(tongzhi:) name:@"tongzhi" obj

通知中心 NSNotificationCenter 的简单使用方法

NSNotificationCenter(通知中心)   [注意]需再dealloc中移除观察者   获取通知中心单例对象 NSNotificationCenter *center=[NSNotificationCenter defaultCenter]; 常用方法: 1.注册观察者 - (void)addObserver:(id)observer selector:(SEL)aSelector name:(NSString *)aName object:(id)anObject; 参数: ob

IOS中通知中心NSNotificationCenter应用总结

一.了解几个相关的类 1.NSNotification 这个类可以理解为一个消息对象,其中有三个成员变量. 这个成员变量是这个消息对象的唯一标识,用于辨别消息对象. @property (readonly, copy) NSString *name; 这个成员变量定义一个对象,可以理解为针对某一个对象的消息. @property (readonly, retain) id object; 这个成员变量是一个字典,可以用其来进行传值. @property (readonly, copy) NSDi