要するに、私はCoreDataの電話にローカルに保存されている一連のデータを表示することを目的としたアプリを持っています。
CoreDataからデータをプルしてから、メインUIViewに約70のサブビューを追加します。これにより、すべてのサブビューがメインビューに追加されるまで、アプリがフリーズします(応答しません)。
アプリがフリーズしないように、すべてのサブビューを非同期で追加する方法を見つけたいと思います。
使ってみましperformSelectorOnMainThread
たが、同じ時間がかかります。
私に何ができる?
ありがとう。
[編集]ビューはボタンが押されるたびに更新される必要があるため、ボタンが押されるたびにDBを検索してビューを更新します。つまり、以前に追加されたすべてのサブビューを削除し、メインビューに約70のサブビューを追加します。
これは、コードがどのように見えるかを少し示しています。
currentEventsArray = I GET THE EVENTS FROM COREDATA
for(int i = 0; i < [currentEventsArray count]; i++){
//I DO SEVERAL OPERATIONS WITH THE DATA AND THEN FINALLY...
[self.view addsubview:aEventView];
}
currentEventsArrayには、50〜80のイベントを含めることができます。すべてのイベントが完了するまで待つのではなく、サブビューを個別に追加して、同時に追加しないようにすることはできますか?