私はいくつかの UIView を作成し、当面の質問にとってそれほど重要ではない理由でそれらをキャッシュしています。
ビュー X をサブビューとして Y に追加した後、X のサブビューの 1 つが表示されません。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
ように表示されます。ここで何が起こっているのか、またはこの異常な動作を防ぐ方法を知っている人はいますか?