Github user acton393 commented on a diff in the pull request: https://github.com/apache/incubator-weex/pull/1047#discussion_r172826404 --- Diff: ios/sdk/WeexSDK/Sources/Component/WXWebComponent.m --- @@ -69,6 +71,11 @@ - (instancetype)initWithRef:(NSString *)ref type:(NSString *)type styles:(NSDict { if (self = [super initWithRef:ref type:type styles:styles attributes:attributes events:events weexInstance:weexInstance]) { self.url = attributes[@"src"]; + + if(attributes[@"source"]){ + self.source = attributes[@"source"]; --- End diff -- the init method is executed in background thread named component method and `self.source` will call [self setSource:""], the method for `setSource` called view operation which is only for main thread. A better way is that define another member for source to save the variable during this initialization, and call self.source in component hook lifeCycle like `viewDidLoad`.
---