
- Removed YuMi/Library/ (138 MB, not tracked) - Removed YuMi/Resources/ (23 MB, not tracked) - Removed old version assets (566 files, not tracked) - Excluded Pods/, xcuserdata/ and other build artifacts - Clean repository optimized for company server deployment
133 lines
3.0 KiB
Objective-C
133 lines
3.0 KiB
Objective-C
//
|
|
// XWNotification.h
|
|
// BaseProject
|
|
//
|
|
// Created by xiaowen.chen on 16/7/19.
|
|
// Copyright © 2016年 xw.com. All rights reserved.
|
|
//
|
|
|
|
#import <Foundation/Foundation.h>
|
|
|
|
|
|
enum{
|
|
//简单的消息
|
|
NFMessageType_Simple,
|
|
//api消息
|
|
NFMessageType_API,
|
|
//主题消息
|
|
NFMessageType_Theme,
|
|
//自定义消息
|
|
NFMessageType_Custom
|
|
|
|
}typedef NFMessageType;
|
|
|
|
|
|
typedef void(^GWHandleOption)(NFMessageType type,NSString *key,NSObject *value);
|
|
typedef NSDictionary *(^GWSingleHandleOption)(NSDictionary *handleDic);
|
|
|
|
@interface BSNotification : NSObject
|
|
|
|
|
|
/**
|
|
添加处理方法,在viewdeload或者viewwillAppear里面添加,object对象的地址h加key确定唯一性
|
|
|
|
@param block 回调方法块
|
|
@param handleName 处理标识名
|
|
@param object 对象实例
|
|
*/
|
|
+(void)addHandler:(GWHandleOption)block withName:(NSString *)handleName andObject:(NSObject *)object;
|
|
|
|
/**
|
|
移除处理方法,在dealloc或者viewwillDisAppear里面移除,object对象的地址加key确定唯一性
|
|
|
|
@param handleName 处理标识名
|
|
@param object 对象实例
|
|
*/
|
|
+(void)removeHandler:(NSString *)handleName andObject:(NSObject *)object;
|
|
|
|
/**
|
|
添加处理方法,在viewdeload或者viewwillAppear里面添加,添加重复的name无效
|
|
|
|
@param block 回调方法块
|
|
@param handleName 处理标识名
|
|
*/
|
|
+(void)addHandler:(GWHandleOption)block withName:(NSString *)handleName;
|
|
|
|
|
|
/**
|
|
移除处理方法,在dealloc或者viewwillDisAppear里面移除
|
|
|
|
@param name 处理标识名
|
|
*/
|
|
+(void)removeHandler:(NSString *)name;
|
|
|
|
|
|
/**
|
|
推送消息-简化版本
|
|
|
|
@param handleDic 参数字典
|
|
@param handleName 处理标识名
|
|
*/
|
|
+(void)pushHandle:(NSDictionary *)handleDic withName:(NSString *)handleName;
|
|
|
|
/**
|
|
推送消息-简化版本
|
|
|
|
@param type 消息类型
|
|
@param key key
|
|
@param value 结果对象
|
|
@param handleName 处理标识名
|
|
*/
|
|
+(void)pushHandle:(NFMessageType)type withKey:(NSString *)key value:(NSObject *)value withName:(NSString *)handleName;
|
|
|
|
/**
|
|
获取所有的注册信息,调试的时候用
|
|
|
|
@return 处理标识名数组
|
|
*/
|
|
+(NSMutableDictionary *)getHandleDic;
|
|
|
|
|
|
#pragma mark - 有返回值的做法,可以用在一个页面向另外一个页面取值,要求是1对1,不然会出异常
|
|
/**
|
|
添加一个唯一的处理方法
|
|
|
|
@param block 回调方法块
|
|
@param handleName 处理标识名
|
|
*/
|
|
+(void)addSingleHandler:(GWSingleHandleOption)block withName:(NSString *)handleName;
|
|
|
|
/**
|
|
触发唯一的处理方法,并且从唯一的处理方法中获取结果
|
|
|
|
@param handleDic 参数字典
|
|
@param handleName 处理标识名
|
|
@return 结果字典
|
|
*/
|
|
+(NSDictionary *)getResultFromSingleHandle:(NSDictionary *)handleDic withName:(NSString *)handleName;
|
|
|
|
|
|
#pragma mark - 批量移除的方法
|
|
|
|
|
|
/**
|
|
移除所有
|
|
*/
|
|
+(void)removeAllHandle;
|
|
|
|
/**
|
|
移除所有不是指定字符串开头的
|
|
|
|
@param str 指定字符串
|
|
*/
|
|
+(void)removeHandleNotInclude:(NSString *)str;
|
|
|
|
/**
|
|
移除所有指定字符串开头的
|
|
|
|
@param str 指定字符串
|
|
*/
|
|
+(void)removeHandleInclude:(NSString *)str;
|
|
|
|
@end
|