私のアプリでは、EKEvents のリストを表示しています。各セクションにそれぞれの日が含まれる UITableView で、1 か月のすべてのイベントを表示したいと考えています。まあ、これはうまくいき、必要なすべてのデータを取得しますが、フェッチは非常に遅いです。
問題は、複数の日に広がるイベントにあります。
- 11 月 10 日から 11 月 17 日まで休暇を取るとします。
- 私の検索述語には、11 月 1 日の startDate と 11 月 30 日の endDate があります。
- 私はenumerateEventsMatchingPredicateまたはeventsMatchingPredicateを実行しますが、どちらも遅いです。
その見返りに、11 月に開催されるすべてのイベントと私の休暇の配列を受け取ります。しかし、私の休暇は 1 つの EKEvent オブジェクトにすぎません。したがって、月ごとのイベントのリスト ビューを表示する場合、11 月 10 日に 1 回だけ表示されますが、わかりやすくするために、10 日、11 日、... 17 日の各日に表示します。
だから私がやっていることは、1 か月の毎日を反復してフェッチを行うことです :-/ この方法で、特定の日に発生するイベントの正しい量を取得しますが、... とても複雑に感じます。
私はすでにフェッチをdispatch_asyncに入れているので、フェッチはUIをブロックせず、フェッチが終了するとtableViewがリロードされ、セルが再描画されます。しかし、まだ時間がかかります。ユーザーフレンドリーな時間はありません。
それらの検索をどのように実行しますか? 検索を高速化するためのヒント、おそらく小さなコード スニペット、または正しい方向に私を向けることができます!?
私の質問は明確ですか?:-/
ありがとう - マーティン。