diff --git a/doric-iOS/Pod/Classes/Engine/DoricJSEngine.m b/doric-iOS/Pod/Classes/Engine/DoricJSEngine.m index 7d6f6e8d..efc2f92a 100644 --- a/doric-iOS/Pod/Classes/Engine/DoricJSEngine.m +++ b/doric-iOS/Pod/Classes/Engine/DoricJSEngine.m @@ -223,11 +223,12 @@ - (void)destroyContext:(NSString *)contextId { } - (void)callbackTimer:(NSTimer *)timer { - NSDictionary *userInfo = timer.userInfo; - NSNumber *timerId = [userInfo valueForKey:@"timerId"]; - NSNumber *repeat = [userInfo valueForKey:@"repeat"]; __weak typeof(self) _self = self; dispatch_async(self.jsQueue, ^() { + NSDictionary *userInfo = timer.userInfo; + NSNumber *timerId = [userInfo valueForKey:@"timerId"]; + NSNumber *repeat = [userInfo valueForKey:@"repeat"]; + __strong typeof(_self) self = _self; @try { [self invokeDoricMethod:DORIC_TIMER_CALLBACK, timerId, nil];