NSObject(FWNotification)
@interface NSObject (FWNotification)
#pragma mark - Observer
/**
监听某个广播通知,对象释放时自动移除监听,添加多次执行多次
@param name 通知名称
@param block 通知句柄
@return 监听唯一标志
*/
- (NSString *)fw_observeNotification:(NSNotificationName)name block:(void (^)(NSNotification *notification))block NS_REFINED_FOR_SWIFT;
/**
监听某个指定对象广播通知,对象释放时自动移除监听,添加多次执行多次
@param name 通知名称
@param object 通知对象,值为nil时表示所有
@param block 通知句柄
@return 监听唯一标志
*/
- (NSString *)fw_observeNotification:(NSNotificationName)name object:(nullable id)object block:(void (^)(NSNotification *notification))block NS_REFINED_FOR_SWIFT;
/**
监听某个广播通知,对象释放时自动移除监听,添加多次执行多次
@param name 通知名称
@param target 通知目标
@param action 目标动作,参数为通知对象
@return 监听唯一标志
*/
- (NSString *)fw_observeNotification:(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_observeNotification:(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_unobserveNotification:(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_unobserveNotification:(NSNotificationName)name object:(nullable id)object target:(nullable id)target action:(nullable SEL)action NS_REFINED_FOR_SWIFT;
/**
手工移除某个指定对象广播通知指定监听
@param name 通知名称
@param identifier 监听唯一标志
*/
- (void)fw_unobserveNotification:(NSNotificationName)name identifier:(NSString *)identifier NS_REFINED_FOR_SWIFT;
/**
手工移除某个广播通知所有监听
@param name 通知名称
*/
- (void)fw_unobserveNotification:(NSNotificationName)name NS_REFINED_FOR_SWIFT;
/**
手工移除某个指定对象广播通知所有监听
@param name 通知名称
@param object 通知对象,值为nil时表示所有
*/
- (void)fw_unobserveNotification:(NSNotificationName)name object:(nullable id)object NS_REFINED_FOR_SWIFT;
/**
手工移除所有广播通知监听
*/
- (void)fw_unobserveAllNotifications NS_REFINED_FOR_SWIFT;
#pragma mark - Subject
/**
发送广播通知
@param name 通知名称
*/
- (void)fw_postNotification:(NSNotificationName)name NS_REFINED_FOR_SWIFT;
/**
发送广播通知,附带对象
@param name 通知名称
@param object 通知对象
*/
- (void)fw_postNotification:(NSNotificationName)name object:(nullable id)object NS_REFINED_FOR_SWIFT;
/**
发送广播通知,附带对象和用户信息
@param name 通知名称
@param object 通知对象
@param userInfo 用户信息
*/
- (void)fw_postNotification:(NSNotificationName)name object:(nullable id)object userInfo:(nullable NSDictionary *)userInfo NS_REFINED_FOR_SWIFT;
/**
发送广播通知
@param name 通知名称
*/
+ (void)fw_postNotification:(NSNotificationName)name NS_REFINED_FOR_SWIFT;
/**
发送广播通知,附带对象
@param name 通知名称
@param object 通知对象
*/
+ (void)fw_postNotification:(NSNotificationName)name object:(nullable id)object NS_REFINED_FOR_SWIFT;
/**
发送广播通知,附带对象和用户信息
@param name 通知名称
@param object 通知对象
@param userInfo 用户信息
*/
+ (void)fw_postNotification:(NSNotificationName)name object:(nullable id)object userInfo:(nullable NSDictionary *)userInfo NS_REFINED_FOR_SWIFT;
@end
Undocumented
-
监听某个广播通知,对象释放时自动移除监听,添加多次执行多次
Declaration
Objective-C
- (nonnull NSString *) fw_observeNotification:(nonnull NSNotificationName)name block:(nonnull void (^)(NSNotification *_Nonnull __strong)) block;
Parameters
name
通知名称
block
通知句柄
Return Value
监听唯一标志
-
监听某个指定对象广播通知,对象释放时自动移除监听,添加多次执行多次
Declaration
Objective-C
- (nonnull NSString *) fw_observeNotification:(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_observeNotification:(nonnull NSNotificationName)name target:(nullable id)target action:(nonnull SEL)action;
Parameters
name
通知名称
target
通知目标
action
目标动作,参数为通知对象
Return Value
监听唯一标志
-
监听某个指定对象广播通知,对象释放时自动移除监听,添加多次执行多次
Declaration
Objective-C
- (nonnull NSString *)fw_observeNotification:(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_unobserveNotification:(nonnull NSNotificationName)name target:(nullable id)target action:(nullable SEL)action;
Parameters
name
通知名称
target
通知目标
action
目标动作
-
手工移除某个指定对象广播通知指定监听
Declaration
Objective-C
- (void)fw_unobserveNotification:(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_unobserveNotification:(nonnull NSNotificationName)name identifier:(nonnull NSString *)identifier;
Parameters
name
通知名称
identifier
监听唯一标志
-
手工移除某个广播通知所有监听
Declaration
Objective-C
- (void)fw_unobserveNotification:(nonnull NSNotificationName)name;
Parameters
name
通知名称
-
手工移除某个指定对象广播通知所有监听
Declaration
Objective-C
- (void)fw_unobserveNotification:(nonnull NSNotificationName)name object:(nullable id)object;
Parameters
name
通知名称
object
通知对象,值为nil时表示所有
-
手工移除所有广播通知监听
Declaration
Objective-C
- (void)fw_unobserveAllNotifications;
-
发送广播通知
Declaration
Objective-C
- (void)fw_postNotification:(nonnull NSNotificationName)name;
Parameters
name
通知名称
-
发送广播通知,附带对象
Declaration
Objective-C
- (void)fw_postNotification:(nonnull NSNotificationName)name object:(nullable id)object;
Parameters
name
通知名称
object
通知对象
-
发送广播通知,附带对象和用户信息
Declaration
Objective-C
- (void)fw_postNotification:(nonnull NSNotificationName)name object:(nullable id)object userInfo:(nullable NSDictionary *)userInfo;
Parameters
name
通知名称
object
通知对象
userInfo
用户信息
-
发送广播通知
Declaration
Objective-C
+ (void)fw_postNotification:(nonnull NSNotificationName)name;
Parameters
name
通知名称
-
发送广播通知,附带对象
Declaration
Objective-C
+ (void)fw_postNotification:(nonnull NSNotificationName)name object:(nullable id)object;
Parameters
name
通知名称
object
通知对象
-
发送广播通知,附带对象和用户信息
Declaration
Objective-C
+ (void)fw_postNotification:(nonnull NSNotificationName)name object:(nullable id)object userInfo:(nullable NSDictionary *)userInfo;
Parameters
name
通知名称
object
通知对象
userInfo
用户信息