diff --git a/ios/sdk/WeexSDK/Sources/Component/WXTransform.m b/ios/sdk/WeexSDK/Sources/Component/WXTransform.m
index 89c4b9f..0c09e5c 100644
--- a/ios/sdk/WeexSDK/Sources/Component/WXTransform.m
+++ b/ios/sdk/WeexSDK/Sources/Component/WXTransform.m
@@ -260,16 +260,17 @@
         if ([self respondsToSelector:method]) {
             @try {
                 id<WXConfigCenterProtocol> configCenter = [WXSDKEngine handlerForProtocol:@protocol(WXConfigCenterProtocol)];
+                BOOL parseTransformIfWaitUntilDone = NO;
                 if ([configCenter respondsToSelector:@selector(configForKey:defaultValue:isDefault:)]) {
-                    BOOL parseTransformIfWaitUntilDone = [[configCenter configForKey:@"iOS_weex_ext_config.parseTransformIfWaitUntilDone" defaultValue:@(NO) isDefault:NULL] boolValue];
-                    if (parseTransformIfWaitUntilDone) {
-                        [self performSelectorOnMainThread:method withObject:value waitUntilDone:YES];
-                    }
-                    else{
-                        IMP imp = [self methodForSelector:method];
-                        void (*func)(id, SEL,NSArray *) = (void *)imp;
-                        func(self, method,value);
-                    }
+                    parseTransformIfWaitUntilDone = [[configCenter configForKey:@"iOS_weex_ext_config.parseTransformIfWaitUntilDone" defaultValue:@(NO) isDefault:NULL] boolValue];
+                }
+                if (parseTransformIfWaitUntilDone) {
+                    [self performSelectorOnMainThread:method withObject:value waitUntilDone:YES];
+                }
+                else{
+                    IMP imp = [self methodForSelector:method];
+                    void (*func)(id, SEL,NSArray *) = (void *)imp;
+                    func(self, method,value);
                 }
             }
             @catch (NSException *exception) {
