zoukankan      html  css  js  c++  java
  • Notifications

    Cocoa中,通知中心实现的观察者设计模式。通过下面两个类实现通知的发送和接收。

    /****************    Notifications    ****************/
    
    @interface NSNotification : NSObject <NSCopying, NSCoding>
    
    - (NSString *)name;
    - (id)object; // 发送该通知的对象
    - (NSDictionary *)userInfo; // 额外的可选信息
    
    @end
    
    @interface NSNotification (NSNotificationCreation)
    
    + (id)notificationWithName:(NSString *)aName object:(id)anObject;
    + (id)notificationWithName:(NSString *)aName object:(id)anObject userInfo:(NSDictionary *)aUserInfo;
    
    @end
    /****************    Notification Center    ****************/
    
    @interface NSNotificationCenter : NSObject {
        @package
        void * __strong _impl;
        void * __strong _callback;
        void *_pad[11];
    }
    
    + (id)defaultCenter;
        
    - (void)addObserver:(id)observer selector:(SEL)aSelector name:(NSString *)aName object:(id)anObject;
    
    // 发送通知,anObject:发送通知的对象,Observer通过- object方法可以访问该对象
    - (void)postNotification:(NSNotification *)notification; - (void)postNotificationName:(NSString *)aName object:(id)anObject; - (void)postNotificationName:(NSString *)aName object:(id)anObject userInfo:(NSDictionary *)aUserInfo;
    // 注册观察者
    - (void)removeObserver:(id)observer; - (void)removeObserver:(id)observer name:(NSString *)aName object:(id)anObject; #if NS_BLOCKS_AVAILABLE - (id)addObserverForName:(NSString *)name object:(id)obj queue:(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. #endif @end 
  • 相关阅读:
    080626 雨(近期目标)
    6月25日 多云
    火一样的冷
    sgu107. 987654321 problem 简单打表 难度:0
    快速切题 sgu 111.Very simple problem 大数 开平方 难度:0 非java:1
    sgu114. Telecasting station 难度:1
    109. Magic of David Copperfield II 构造 难度:2
    sgu108. Selfnumbers 2 滚动数组 打表 难度:1
    快速切题 sgu115. Calendar 模拟 难度:0
    快速切题 sgu117. Counting 分解质因数
  • 原文地址:https://www.cnblogs.com/iprogrammer/p/3248935.html
Copyright © 2011-2022 走看看