From 843f1664dca2dafaba96fbdfc9e181784a37e4fd Mon Sep 17 00:00:00 2001 From: programingHaozi <229520281@qq.com> Date: Wed, 4 Aug 2021 11:02:33 +0800 Subject: [PATCH 1/2] =?UTF-8?q?[REV]=E6=B7=BB=E5=8A=A0=E5=9F=8B=E7=82=B9?= =?UTF-8?q?=E9=80=9A=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ReactiveObjC/NSObject+RACSelectorSignal.m | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ReactiveObjC/NSObject+RACSelectorSignal.m b/ReactiveObjC/NSObject+RACSelectorSignal.m index ed809e2ef..9326a7d8e 100644 --- a/ReactiveObjC/NSObject+RACSelectorSignal.m +++ b/ReactiveObjC/NSObject+RACSelectorSignal.m @@ -74,6 +74,10 @@ static void RACSwizzleForwardInvocation(Class class) { // was no existing implementation, throw an unrecognized selector // exception. id newForwardInvocation = ^(id self, NSInvocation *invocation) { + + NSDictionary * info = @{@"target":NSStringFromClass([invocation.target class]),@"selector":NSStringFromSelector(invocation.selector)}; + [NSNotificationCenter.defaultCenter postNotificationName:@"RACForwardInvocation_Dot" object:info]; + BOOL matched = RACForwardInvocation(self, invocation); if (matched) return; From f758bff02c3d4229932e5c5de1e565754223e236 Mon Sep 17 00:00:00 2001 From: programingHaozi <229520281@qq.com> Date: Wed, 4 Aug 2021 18:20:27 +0800 Subject: [PATCH 2/2] =?UTF-8?q?[REV]=E5=8E=BB=E9=99=A4=E7=9B=91=E5=90=AC?= =?UTF-8?q?=E5=90=8E=E7=BC=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ReactiveObjC/NSObject+RACSelectorSignal.m | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/ReactiveObjC/NSObject+RACSelectorSignal.m b/ReactiveObjC/NSObject+RACSelectorSignal.m index 9326a7d8e..bab6f8b1d 100644 --- a/ReactiveObjC/NSObject+RACSelectorSignal.m +++ b/ReactiveObjC/NSObject+RACSelectorSignal.m @@ -73,11 +73,17 @@ static void RACSwizzleForwardInvocation(Class class) { // invoke any existing implementation of -forwardInvocation:. If there // was no existing implementation, throw an unrecognized selector // exception. + id newForwardInvocation = ^(id self, NSInvocation *invocation) { - NSDictionary * info = @{@"target":NSStringFromClass([invocation.target class]),@"selector":NSStringFromSelector(invocation.selector)}; - [NSNotificationCenter.defaultCenter postNotificationName:@"RACForwardInvocation_Dot" object:info]; - + // 去除rac_alias_前缀 + NSCharacterSet *set = [NSCharacterSet characterSetWithCharactersInString:@"rac_alias"]; + NSString *trimmedString = [NSStringFromSelector(invocation.selector) stringByTrimmingCharactersInSet:set]; + + // 将target和selctor传出去 + NSDictionary * info = @{@"target":NSStringFromClass([invocation.target class]),@"selector":trimmedString}; + [NSNotificationCenter.defaultCenter postNotificationName:@"RACForwardInvocation_Dot" object:nil userInfo:info]; + BOOL matched = RACForwardInvocation(self, invocation); if (matched) return;