You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by ac...@apache.org on 2017/05/25 08:10:35 UTC

[1/9] incubator-weex git commit: * [ios] fix callback nil value

Repository: incubator-weex
Updated Branches:
  refs/heads/0.13-dev 3cd38127c -> 764aed5de


* [ios] fix callback nil value


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/03942686
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/03942686
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/03942686

Branch: refs/heads/0.13-dev
Commit: 039426860644d4481bf66898db327100d99c689a
Parents: 8acc6e6
Author: acton393 <zh...@gmail.com>
Authored: Wed May 24 15:58:12 2017 +0800
Committer: acton393 <zh...@gmail.com>
Committed: Wed May 24 15:58:12 2017 +0800

----------------------------------------------------------------------
 ios/sdk/WeexSDK/Sources/Module/WXDomModule.m | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/03942686/ios/sdk/WeexSDK/Sources/Module/WXDomModule.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Module/WXDomModule.m b/ios/sdk/WeexSDK/Sources/Module/WXDomModule.m
index 9e26ea5..3b97c0b 100644
--- a/ios/sdk/WeexSDK/Sources/Module/WXDomModule.m
+++ b/ios/sdk/WeexSDK/Sources/Module/WXDomModule.m
@@ -196,6 +196,7 @@ WX_EXPORT_METHOD(@selector(getComponentRect:callback:))
                 __strong typeof (weakSelf) strongSelf = weakSelf;
                 NSMutableDictionary * callbackRsp = nil;
                 if (!component) {
+                    callbackRsp = [NSMutableDictionary new];
                     [callbackRsp setObject:@(false) forKey:@"result"];
                     [callbackRsp setObject:[NSString stringWithFormat:@"Illegal parameter, no ref about \"%@\" can be found", ref] forKey:@"errMsg"];
                 } else {


[7/9] incubator-weex git commit: * [ios] format code and log more information

Posted by ac...@apache.org.
* [ios] format code  and log more information


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/c11cc537
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/c11cc537
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/c11cc537

Branch: refs/heads/0.13-dev
Commit: c11cc5371475208b6feaa6c0df1122af27cc21bb
Parents: cd00544
Author: acton393 <zh...@gmail.com>
Authored: Thu May 25 15:19:57 2017 +0800
Committer: acton393 <zh...@gmail.com>
Committed: Thu May 25 15:19:57 2017 +0800

----------------------------------------------------------------------
 ios/sdk/WeexSDK/Sources/Component/WXListComponent.m | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/c11cc537/ios/sdk/WeexSDK/Sources/Component/WXListComponent.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Component/WXListComponent.m b/ios/sdk/WeexSDK/Sources/Component/WXListComponent.m
index 7e391ef..16070bd 100644
--- a/ios/sdk/WeexSDK/Sources/Component/WXListComponent.m
+++ b/ios/sdk/WeexSDK/Sources/Component/WXListComponent.m
@@ -281,7 +281,8 @@
             WXLogDebug(@"Insert section:%ld", (unsigned long)insertIndex);
             
             [UIView performWithoutAnimation:^{
-                 @try {
+                
+                @try {
                     [_tableView beginUpdates];
                     
                     [_completedSections insertObject:completedInsertSection atIndex:insertIndex];
@@ -297,11 +298,12 @@
                     }
                     
                     [_tableView endUpdates];
-                 } @catch (NSException *exception) {
-                     WXLog(@"%@ %@",NSStringFromSelector(_cmd), exception);
-                 } @finally {
-                     
-                 }
+                } @catch (NSException *exception) {
+                    WXLogError(@"list insert component occurs exception %@", exception);
+                } @finally {
+                     // nothing
+                }
+                
             }];
             
         }];


[8/9] incubator-weex git commit: * [ios] adjust error logic

Posted by ac...@apache.org.
* [ios] adjust error logic


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/41ee7b2c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/41ee7b2c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/41ee7b2c

Branch: refs/heads/0.13-dev
Commit: 41ee7b2c2e53fb6406612e8bc59d3ac3d6e33ede
Parents: c11cc53
Author: acton393 <zh...@gmail.com>
Authored: Thu May 25 15:22:14 2017 +0800
Committer: acton393 <zh...@gmail.com>
Committed: Thu May 25 15:22:14 2017 +0800

----------------------------------------------------------------------
 ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/41ee7b2c/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m b/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m
index 8401067..fe71646 100644
--- a/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m
+++ b/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m
@@ -247,7 +247,7 @@ typedef enum : NSUInteger {
         __strong typeof(weakSelf) strongSelf = weakSelf;
         NSError *error = nil;
         if ([response isKindOfClass:[NSHTTPURLResponse class]] && ((NSHTTPURLResponse *)response).statusCode != 200) {
-            NSError *error = [NSError errorWithDomain:WX_ERROR_DOMAIN
+            error = [NSError errorWithDomain:WX_ERROR_DOMAIN
                                         code:((NSHTTPURLResponse *)response).statusCode
                                     userInfo:@{@"message":@"status code error."}];
             if (strongSelf.onFailed) {


[9/9] incubator-weex git commit: Merge branch '0.13-dev' of https://github.com/acton393/incubator-weex into wip-us-0.13-dev

Posted by ac...@apache.org.
Merge branch '0.13-dev' of https://github.com/acton393/incubator-weex into wip-us-0.13-dev


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/764aed5d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/764aed5d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/764aed5d

Branch: refs/heads/0.13-dev
Commit: 764aed5def1cb6c2b6b1420455e520bd1ebd8216
Parents: 3cd3812 41ee7b2
Author: acton393 <zh...@gmail.com>
Authored: Thu May 25 16:09:55 2017 +0800
Committer: acton393 <zh...@gmail.com>
Committed: Thu May 25 16:09:55 2017 +0800

----------------------------------------------------------------------
 .../WeexSDK/Sources/Component/WXListComponent.m | 33 +++++++++++++-------
 ios/sdk/WeexSDK/Sources/Model/WXComponent.m     | 18 +++++------
 ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.h   | 12 ++++++-
 ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m   | 16 +++++++---
 ios/sdk/WeexSDK/Sources/Module/WXDomModule.m    |  1 +
 5 files changed, 54 insertions(+), 26 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/764aed5d/ios/sdk/WeexSDK/Sources/Component/WXListComponent.m
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/764aed5d/ios/sdk/WeexSDK/Sources/Model/WXComponent.m
----------------------------------------------------------------------
diff --cc ios/sdk/WeexSDK/Sources/Model/WXComponent.m
index 75aaee0,87c231c..2e2f5fc
--- a/ios/sdk/WeexSDK/Sources/Model/WXComponent.m
+++ b/ios/sdk/WeexSDK/Sources/Model/WXComponent.m
@@@ -522,10 -518,14 +522,10 @@@
          self.view.accessibilityValue = _ariaLabel;
      }
      
-     if (attributes[@"testId"]) {
-         [self.view setAccessibilityIdentifier:[WXConvert NSString:attributes[@"testId"]]];
+     if (attributesCpy[@"testId"]) {
+         [self.view setAccessibilityIdentifier:[WXConvert NSString:attributesCpy[@"testId"]]];
      }
 -    
 -    // set accessibilityFrame for view which has no subview
 -    if (0 == [self.subcomponents count]) {
 -        self.view.isAccessibilityElement = YES;
 -    }
 +
  }
  
  - (UIImage *)imageFromLayer:(CALayer *)layer

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/764aed5d/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m
----------------------------------------------------------------------


[3/9] incubator-weex git commit: * [ios] try to fix crash about accessibility

Posted by ac...@apache.org.
* [ios] try to fix crash about accessibility


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/4e2e2040
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/4e2e2040
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/4e2e2040

Branch: refs/heads/0.13-dev
Commit: 4e2e2040acaac50a40ba60fb21c9edbd36152f6d
Parents: b2f7901
Author: acton393 <zh...@gmail.com>
Authored: Thu May 25 14:40:46 2017 +0800
Committer: acton393 <zh...@gmail.com>
Committed: Thu May 25 14:40:46 2017 +0800

----------------------------------------------------------------------
 ios/sdk/WeexSDK/Sources/Model/WXComponent.m | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/4e2e2040/ios/sdk/WeexSDK/Sources/Model/WXComponent.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Model/WXComponent.m b/ios/sdk/WeexSDK/Sources/Model/WXComponent.m
index 8ee5393..6971e69 100644
--- a/ios/sdk/WeexSDK/Sources/Model/WXComponent.m
+++ b/ios/sdk/WeexSDK/Sources/Model/WXComponent.m
@@ -500,26 +500,26 @@
 - (void)_configWXComponentA11yWithAttributes:(NSDictionary *)attributes
 {
     WX_CHECK_COMPONENT_TYPE(self.componentType)
-    
-    if (!attributes) {
+    NSMutableDictionary *attributesCpy = [attributes mutableCopy];
+    if (!attributesCpy) {
         return;
     }
     
-    if (attributes[@"role"]){
+    if (attributesCpy[@"role"]){
         _role = [WXConvert WXUIAccessibilityTraits:attributes[@"role"]];
         self.view.accessibilityTraits = _role;
     }
-    if (attributes[@"ariaHidden"]) {
-        _ariaHidden = [WXConvert BOOL:attributes[@"ariaHidden"]];
+    if (attributesCpy[@"ariaHidden"]) {
+        _ariaHidden = [WXConvert BOOL:attributesCpy[@"ariaHidden"]];
         self.view.accessibilityElementsHidden = _ariaHidden;
     }
-    if (attributes[@"ariaLabel"]) {
-        _ariaLabel = [WXConvert NSString:attributes[@"ariaLabel"]];
+    if (attributesCpy[@"ariaLabel"]) {
+        _ariaLabel = [WXConvert NSString:attributesCpy[@"ariaLabel"]];
         self.view.accessibilityValue = _ariaLabel;
     }
     
-    if (attributes[@"testId"]) {
-        [self.view setAccessibilityIdentifier:[WXConvert NSString:attributes[@"testId"]]];
+    if (attributesCpy[@"testId"]) {
+        [self.view setAccessibilityIdentifier:[WXConvert NSString:attributesCpy[@"testId"]]];
     }
     
     // set accessibilityFrame for view which has no subview


[5/9] incubator-weex git commit: * [ios] use non-mutable dictionary

Posted by ac...@apache.org.
* [ios] use non-mutable dictionary


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/1879e112
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/1879e112
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/1879e112

Branch: refs/heads/0.13-dev
Commit: 1879e11295ac7b1e8080261e18bef584baeb0508
Parents: b5bc9ef
Author: acton393 <zh...@gmail.com>
Authored: Thu May 25 15:04:20 2017 +0800
Committer: acton393 <zh...@gmail.com>
Committed: Thu May 25 15:04:20 2017 +0800

----------------------------------------------------------------------
 ios/sdk/WeexSDK/Sources/Model/WXComponent.m | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/1879e112/ios/sdk/WeexSDK/Sources/Model/WXComponent.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Model/WXComponent.m b/ios/sdk/WeexSDK/Sources/Model/WXComponent.m
index 6971e69..87c231c 100644
--- a/ios/sdk/WeexSDK/Sources/Model/WXComponent.m
+++ b/ios/sdk/WeexSDK/Sources/Model/WXComponent.m
@@ -500,7 +500,7 @@
 - (void)_configWXComponentA11yWithAttributes:(NSDictionary *)attributes
 {
     WX_CHECK_COMPONENT_TYPE(self.componentType)
-    NSMutableDictionary *attributesCpy = [attributes mutableCopy];
+    NSDictionary *attributesCpy = [attributes copy];
     if (!attributesCpy) {
         return;
     }


[4/9] incubator-weex git commit: * [ios] add documentation for fireModuleEvent

Posted by ac...@apache.org.
* [ios] add documentation for fireModuleEvent


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/b5bc9ef8
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/b5bc9ef8
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/b5bc9ef8

Branch: refs/heads/0.13-dev
Commit: b5bc9ef811140c2f7b4fb711a5676497f3892661
Parents: 4e2e204
Author: acton393 <zh...@gmail.com>
Authored: Thu May 25 14:41:53 2017 +0800
Committer: acton393 <zh...@gmail.com>
Committed: Thu May 25 14:41:53 2017 +0800

----------------------------------------------------------------------
 ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.h | 3 +++
 1 file changed, 3 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b5bc9ef8/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.h
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.h b/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.h
index abfdc9d..b846afa 100644
--- a/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.h
+++ b/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.h
@@ -264,6 +264,9 @@ typedef NS_ENUM(NSInteger, WXErrorCode) {//error.code
 
 /**
  * fire module event;
+ * @param module which module you fire event to
+ * @param eventName the event name
+ * @param params event params
  */
 - (void)fireModuleEvent:(Class)module eventName:(NSString *)eventName params:(NSDictionary*)params;
 


[2/9] incubator-weex git commit: * [ios] add jsdownload finish callback

Posted by ac...@apache.org.
* [ios] add jsdownload finish callback


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/b2f79013
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/b2f79013
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/b2f79013

Branch: refs/heads/0.13-dev
Commit: b2f79013d6249a88ec3d1caf91a8810162818cb9
Parents: 0394268
Author: acton393 <zh...@gmail.com>
Authored: Wed May 24 22:02:24 2017 +0800
Committer: acton393 <zh...@gmail.com>
Committed: Wed May 24 22:02:24 2017 +0800

----------------------------------------------------------------------
 ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.h |  9 ++++++++-
 ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m | 14 +++++++++++---
 2 files changed, 19 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b2f79013/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.h
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.h b/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.h
index 4f63e35..abfdc9d 100644
--- a/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.h
+++ b/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.h
@@ -20,7 +20,8 @@
 #import <UIKit/UIKit.h>
 #import "WXComponent.h"
 #import "WXJSExceptionInfo.h"
-@class WXResourceRequest;
+#import "WXResourceResponse.h"
+#import "WXResourceRequest.h"
 
 extern NSString *const bundleUrlOptionKey;
 
@@ -153,6 +154,12 @@ typedef NS_ENUM(NSInteger, WXErrorCode) {//error.code
 @property (nonatomic, copy) void (^onRenderProgress)(CGRect renderRect);
 
 /**
+ * The callback triggered when the bundleJS request finished in the renderWithURL.
+ * @return A block that takes response which the server response,request which send to server,data which the server returned and an error
+ */
+@property (nonatomic, copy) void(^onJSDownloadedFinish)(WXResourceResponse *response,WXResourceRequest *request,NSData *data, NSError* error);
+
+/**
  *  the frame of current instance.
  **/
 @property (nonatomic, assign) CGRect frame;

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b2f79013/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m b/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m
index 68eb1d2..8401067 100644
--- a/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m
+++ b/ios/sdk/WeexSDK/Sources/Model/WXSDKInstance.m
@@ -245,7 +245,7 @@ typedef enum : NSUInteger {
     _mainBundleLoader = [[WXResourceLoader alloc] initWithRequest:request];;
     _mainBundleLoader.onFinished = ^(WXResourceResponse *response, NSData *data) {
         __strong typeof(weakSelf) strongSelf = weakSelf;
-        
+        NSError *error = nil;
         if ([response isKindOfClass:[NSHTTPURLResponse class]] && ((NSHTTPURLResponse *)response).statusCode != 200) {
             NSError *error = [NSError errorWithDomain:WX_ERROR_DOMAIN
                                         code:((NSHTTPURLResponse *)response).statusCode
@@ -253,7 +253,15 @@ typedef enum : NSUInteger {
             if (strongSelf.onFailed) {
                 strongSelf.onFailed(error);
             }
-            return ;
+        }
+        
+        if (strongSelf.onJSDownloadedFinish) {
+            strongSelf.onJSDownloadedFinish(response, request, data, error);
+        }
+        
+        if (error) {
+            // if an error occurs, just return.
+            return;
         }
 
         if (!data) {
@@ -274,7 +282,7 @@ typedef enum : NSUInteger {
 
         WX_MONITOR_SUCCESS_ON_PAGE(WXMTJSDownload, strongSelf.pageName);
         WX_MONITOR_INSTANCE_PERF_END(WXPTJSDownload, strongSelf);
-
+        
         [strongSelf _renderWithMainBundleString:jsBundleString];
     };
     


[6/9] incubator-weex git commit: * [ios] add try catch for some exceptions

Posted by ac...@apache.org.
* [ios] add try catch for some exceptions


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/cd00544b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/cd00544b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/cd00544b

Branch: refs/heads/0.13-dev
Commit: cd00544ba3b706cda41f4f5f852c6a2fa6666723
Parents: 1879e11
Author: acton393 <zh...@gmail.com>
Authored: Thu May 25 15:08:52 2017 +0800
Committer: acton393 <zh...@gmail.com>
Committed: Thu May 25 15:08:52 2017 +0800

----------------------------------------------------------------------
 .../WeexSDK/Sources/Component/WXListComponent.m | 37 ++++++++++++--------
 1 file changed, 22 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/cd00544b/ios/sdk/WeexSDK/Sources/Component/WXListComponent.m
----------------------------------------------------------------------
diff --git a/ios/sdk/WeexSDK/Sources/Component/WXListComponent.m b/ios/sdk/WeexSDK/Sources/Component/WXListComponent.m
index eb5c12f..7e391ef 100644
--- a/ios/sdk/WeexSDK/Sources/Component/WXListComponent.m
+++ b/ios/sdk/WeexSDK/Sources/Component/WXListComponent.m
@@ -281,24 +281,31 @@
             WXLogDebug(@"Insert section:%ld", (unsigned long)insertIndex);
             
             [UIView performWithoutAnimation:^{
-                [_tableView beginUpdates];
-                
-                [_completedSections insertObject:completedInsertSection atIndex:insertIndex];
-                if (completedReloadSection) {
-                    WXLogDebug(@"Reload section:%lu", insertIndex - 1);
-                    _completedSections[insertIndex - 1] = completedReloadSection;
-                }
-                
-                [self _insertTableViewSectionAtIndex:insertIndex keepScrollPosition:keepScrollPosition animation:UITableViewRowAnimationNone];
-                
-                if (completedReloadSection) {
-                    [_tableView reloadSections:[NSIndexSet indexSetWithIndex:insertIndex - 1] withRowAnimation:UITableViewRowAnimationNone];
-                }
-                
-                [_tableView endUpdates];
+                 @try {
+                    [_tableView beginUpdates];
+                    
+                    [_completedSections insertObject:completedInsertSection atIndex:insertIndex];
+                    if (completedReloadSection) {
+                        WXLogDebug(@"Reload section:%lu", insertIndex - 1);
+                        _completedSections[insertIndex - 1] = completedReloadSection;
+                    }
+                    
+                    [self _insertTableViewSectionAtIndex:insertIndex keepScrollPosition:keepScrollPosition animation:UITableViewRowAnimationNone];
+                    
+                    if (completedReloadSection) {
+                        [_tableView reloadSections:[NSIndexSet indexSetWithIndex:insertIndex - 1] withRowAnimation:UITableViewRowAnimationNone];
+                    }
+                    
+                    [_tableView endUpdates];
+                 } @catch (NSException *exception) {
+                     WXLog(@"%@ %@",NSStringFromSelector(_cmd), exception);
+                 } @finally {
+                     
+                 }
             }];
             
         }];
+        
     }
 }