Files
edwinQQQ a35a711be6 chore: Initial clean commit
- 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
2025-10-09 16:19:14 +08:00

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