diff --git a/React/Fabric/Utils/RCTGenericDelegateSplitter.mm b/React/Fabric/Utils/RCTGenericDelegateSplitter.mm index 38b183daaba..7a7e109fb11 100644 --- a/React/Fabric/Utils/RCTGenericDelegateSplitter.mm +++ b/React/Fabric/Utils/RCTGenericDelegateSplitter.mm @@ -78,11 +78,17 @@ - (void)forwardInvocation:(NSInvocation *)invocation { + NSMutableArray *targets = [[NSMutableArray alloc] initWithCapacity:_delegates.count]; + for (id delegate in _delegates) { if ([delegate respondsToSelector:[invocation selector]]) { - [invocation invokeWithTarget:delegate]; + [targets addObject:delegate]; } } + + for (id target in targets) { + [invocation invokeWithTarget:target]; + } } @end