我正在创建一些 UIViews 并缓存它们,原因对手头的问题并不重要。
在我将视图 X 作为子视图添加到 Y 后,X 的子视图之一不会出现。如果我等待 20-30 秒,它会突然出现。
以下是我创建视图并将它们添加到缓存中的方式。这些视图尚未添加到 ui 中,稍后会发生。
dispatch_async(dispatch_get_global_queue(0, 0), ^{
for(int i = 0; i < 10;i++){
MyUIView *cTemp = [[MyUIView alloc] initWithFrame:CGRectZero];
[self addViewToCahce:cTemp forKey:@"key"];
}
});
但是如果我删除dispatch_async
它,它应该会出现。任何人都知道这里发生了什么或如何防止这种异常行为?