NSObject(FWMessage)
@interface NSObject (FWMessage)
#pragma mark - Observer
/**
监听某个点对点消息,对象释放时自动移除监听,添加多次执行多次
@param name 消息名称
@param block 消息句柄
@return 监听唯一标志
*/
- (NSString *)fw_observeMessage:(NSNotificationName)name block:(void (^)(NSNotification *notification))block NS_REFINED_FOR_SWIFT;
/**
监听某个指定对象点对点消息,对象释放时自动移除监听,添加多次执行多次
@param name 消息名称
@param object 消息对象,值为nil时表示所有
@param block 消息句柄
@return 监听唯一标志
*/
- (NSString *)fw_observeMessage:(NSNotificationName)name object:(nullable id)object block:(void (^)(NSNotification *notification))block NS_REFINED_FOR_SWIFT;
/**
监听某个点对点消息,对象释放时自动移除监听,添加多次执行多次
@param name 消息名称
@param target 消息目标
@param action 目标动作,参数为通知对象
@return 监听唯一标志
*/
- (NSString *)fw_observeMessage:(NSNotificationName)name target:(nullable id)target action:(SEL)action NS_REFINED_FOR_SWIFT;
/**
监听某个指定对象点对点消息,对象释放时自动移除监听,添加多次执行多次
@param name 消息名称
@param object 消息对象,值为nil时表示所有
@param target 消息目标
@param action 目标动作,参数为通知对象
@return 监听唯一标志
*/
- (NSString *)fw_observeMessage:(NSNotificationName)name object:(nullable id)object target:(nullable id)target action:(SEL)action NS_REFINED_FOR_SWIFT;
/**
手工移除某个点对点消息指定监听
@param name 消息名称
@param target 消息目标
@param action 目标动作
*/
- (void)fw_unobserveMessage:(NSNotificationName)name target:(nullable id)target action:(nullable SEL)action NS_REFINED_FOR_SWIFT;
/**
手工移除某个指定对象点对点消息指定监听
@param name 消息名称
@param object 消息对象,值为nil时表示所有
@param target 消息目标
@param action 目标动作
*/
- (void)fw_unobserveMessage:(NSNotificationName)name object:(nullable id)object target:(nullable id)target action:(nullable SEL)action NS_REFINED_FOR_SWIFT;
/**
手工移除某个指定对象点对点消息指定监听
@param name 消息名称
@param identifier 监听唯一标志
*/
- (void)fw_unobserveMessage:(NSNotificationName)name identifier:(NSString *)identifier NS_REFINED_FOR_SWIFT;
/**
手工移除某个点对点消息所有监听
@param name 消息名称
*/
- (void)fw_unobserveMessage:(NSNotificationName)name NS_REFINED_FOR_SWIFT;
/**
手工移除某个指定对象点对点消息所有监听
@param name 消息名称
@param object 消息对象,值为nil时表示所有
*/
- (void)fw_unobserveMessage:(NSNotificationName)name object:(nullable id)object NS_REFINED_FOR_SWIFT;
/**
手工移除所有点对点消息监听
*/
- (void)fw_unobserveAllMessages NS_REFINED_FOR_SWIFT;
#pragma mark - Subject
/**
发送点对点消息
@param name 消息名称
@param receiver 消息接收者
*/
- (void)fw_sendMessage:(NSNotificationName)name toReceiver:(id)receiver NS_REFINED_FOR_SWIFT;
/**
发送点对点消息,附带对象
@param name 消息名称
@param object 消息对象
@param receiver 消息接收者
*/
- (void)fw_sendMessage:(NSNotificationName)name object:(nullable id)object toReceiver:(id)receiver NS_REFINED_FOR_SWIFT;
/**
发送点对点消息,附带对象和用户信息
@param name 消息名称
@param object 消息对象
@param userInfo 用户信息
@param receiver 消息接收者
*/
- (void)fw_sendMessage:(NSNotificationName)name object:(nullable id)object userInfo:(nullable NSDictionary *)userInfo toReceiver:(id)receiver NS_REFINED_FOR_SWIFT;
/**
发送类点对点消息
@param name 消息名称
@param receiver 消息接收者
*/
+ (void)fw_sendMessage:(NSNotificationName)name toReceiver:(id)receiver NS_REFINED_FOR_SWIFT;
/**
发送类点对点消息,附带对象
@param name 消息名称
@param object 消息对象
@param receiver 消息接收者
*/
+ (void)fw_sendMessage:(NSNotificationName)name object:(nullable id)object toReceiver:(id)receiver NS_REFINED_FOR_SWIFT;
/**
发送类点对点消息,附带对象和用户信息
@param name 消息名称
@param object 消息对象
@param userInfo 用户信息
@param receiver 消息接收者
*/
+ (void)fw_sendMessage:(NSNotificationName)name object:(nullable id)object userInfo:(nullable NSDictionary *)userInfo toReceiver:(id)receiver NS_REFINED_FOR_SWIFT;
@end
Undocumented
-
监听某个点对点消息,对象释放时自动移除监听,添加多次执行多次
Declaration
Objective-C
- (nonnull NSString *) fw_observeMessage:(nonnull NSNotificationName)name block: (nonnull void (^)(NSNotification *_Nonnull __strong))block;
Parameters
name
消息名称
block
消息句柄
Return Value
监听唯一标志
-
监听某个指定对象点对点消息,对象释放时自动移除监听,添加多次执行多次
Declaration
Objective-C
- (nonnull NSString *) fw_observeMessage:(nonnull NSNotificationName)name object:(nullable id)object block: (nonnull void (^)(NSNotification *_Nonnull __strong))block;
Parameters
name
消息名称
object
消息对象,值为nil时表示所有
block
消息句柄
Return Value
监听唯一标志
-
监听某个点对点消息,对象释放时自动移除监听,添加多次执行多次
Declaration
Objective-C
- (nonnull NSString *)fw_observeMessage:(nonnull NSNotificationName)name target:(nullable id)target action:(nonnull SEL)action;
Parameters
name
消息名称
target
消息目标
action
目标动作,参数为通知对象
Return Value
监听唯一标志
-
监听某个指定对象点对点消息,对象释放时自动移除监听,添加多次执行多次
Declaration
Objective-C
- (nonnull NSString *)fw_observeMessage:(nonnull NSNotificationName)name object:(nullable id)object target:(nullable id)target action:(nonnull SEL)action;
Parameters
name
消息名称
object
消息对象,值为nil时表示所有
target
消息目标
action
目标动作,参数为通知对象
Return Value
监听唯一标志
-
手工移除某个点对点消息指定监听
Declaration
Objective-C
- (void)fw_unobserveMessage:(nonnull NSNotificationName)name target:(nullable id)target action:(nullable SEL)action;
Parameters
name
消息名称
target
消息目标
action
目标动作
-
手工移除某个指定对象点对点消息指定监听
Declaration
Objective-C
- (void)fw_unobserveMessage:(nonnull NSNotificationName)name object:(nullable id)object target:(nullable id)target action:(nullable SEL)action;
Parameters
name
消息名称
object
消息对象,值为nil时表示所有
target
消息目标
action
目标动作
-
手工移除某个指定对象点对点消息指定监听
Declaration
Objective-C
- (void)fw_unobserveMessage:(nonnull NSNotificationName)name identifier:(nonnull NSString *)identifier;
Parameters
name
消息名称
identifier
监听唯一标志
-
手工移除某个点对点消息所有监听
Declaration
Objective-C
- (void)fw_unobserveMessage:(nonnull NSNotificationName)name;
Parameters
name
消息名称
-
手工移除某个指定对象点对点消息所有监听
Declaration
Objective-C
- (void)fw_unobserveMessage:(nonnull NSNotificationName)name object:(nullable id)object;
Parameters
name
消息名称
object
消息对象,值为nil时表示所有
-
手工移除所有点对点消息监听
Declaration
Objective-C
- (void)fw_unobserveAllMessages;
-
发送点对点消息
Declaration
Objective-C
- (void)fw_sendMessage:(nonnull NSNotificationName)name toReceiver:(nonnull id)receiver;
Parameters
name
消息名称
receiver
消息接收者
-
发送点对点消息,附带对象
Declaration
Objective-C
- (void)fw_sendMessage:(nonnull NSNotificationName)name object:(nullable id)object toReceiver:(nonnull id)receiver;
Parameters
name
消息名称
object
消息对象
receiver
消息接收者
-
发送点对点消息,附带对象和用户信息
Declaration
Objective-C
- (void)fw_sendMessage:(nonnull NSNotificationName)name object:(nullable id)object userInfo:(nullable NSDictionary *)userInfo toReceiver:(nonnull id)receiver;
Parameters
name
消息名称
object
消息对象
userInfo
用户信息
receiver
消息接收者
-
发送类点对点消息
Declaration
Objective-C
+ (void)fw_sendMessage:(nonnull NSNotificationName)name toReceiver:(nonnull id)receiver;
Parameters
name
消息名称
receiver
消息接收者
-
发送类点对点消息,附带对象
Declaration
Objective-C
+ (void)fw_sendMessage:(nonnull NSNotificationName)name object:(nullable id)object toReceiver:(nonnull id)receiver;
Parameters
name
消息名称
object
消息对象
receiver
消息接收者
-
发送类点对点消息,附带对象和用户信息
Declaration
Objective-C
+ (void)fw_sendMessage:(nonnull NSNotificationName)name object:(nullable id)object userInfo:(nullable NSDictionary *)userInfo toReceiver:(nonnull id)receiver;
Parameters
name
消息名称
object
消息对象
userInfo
用户信息
receiver
消息接收者