diff --git a/ios/sdk/WeexSDK/Sources/Utility/WXUtility.m b/ios/sdk/WeexSDK/Sources/Utility/WXUtility.m index 73c1108a46..6ec4223b48 100644 --- a/ios/sdk/WeexSDK/Sources/Utility/WXUtility.m +++ b/ios/sdk/WeexSDK/Sources/Utility/WXUtility.m @@ -268,6 +268,12 @@ + (id _Nullable)convertContainerToImmutable:(id _Nullable)source if ([source isKindOfClass:[NSArray class]]) { NSMutableArray* tmpArray = [[NSMutableArray alloc] init]; for (id obj in source) { + if (obj == nil) { + /* srouce may be a subclass of NSArray and the subclassed + array may return nil in its overridden objectAtIndex: method. + So obj could be nil!!!. */ + continue; + } [tmpArray addObject:[self convertContainerToImmutable:obj]]; } id immutableArray = [NSArray arrayWithArray:tmpArray];