2011-08-31 3 views
0

私が開発しているアプリケーションは、イベントをユーザーの電話のカレンダーに書き込みます。私はmyappのようなプレフィックスで私のアプリのイベントに先立つことを考えていたので、イベントビューアで私のイベントを見つけることができます。私は、IOSがframeworkをeventkit見直す際のカレンダー:):endDateに:predicateForEventsWithStartDate -EventKitプレディケートの選択

しかし、利用可能な唯一の述語は、開始日と終了日(に基づいているようです。私はそれを読んでいますか?

私はちょうど電話で私のアプリのためのカレンダーを作成する必要がありますか、または日付の横に私のイベントを識別する別の方法がありますか?

ありがとうございます。

答えて

0

もう1つのオプションは、イベントにインデックスを付けるローカルストレージ(sqlite、coredataなど)を持つことです。各イベントにはイベントIDがあり、eventWithIdentifier経由でストアからイベントを取得できます。

データアクセスのパターンはわかりませんが、強力な述語とSQL構文で効率的にクエリできるデータをアプリ内にすばやく保存できます。ローカル結果からeventIdsが返され、テーブルビューのコールバックでその行のIDが取得され、イベントストアから取得されます。

ちょっと別のオプション...

+0

ねえ、それはいいアイデアだと思いました。私が理解できるように、イベントを作成するときにイベントIDを取得し、それをエンティティのコアデータストアに格納します。次に、私は私のコアデータエンティティから引き出すこれらのイベントIDに基づいてイベントストアから引き出しますか? – Jazzmine

+0

それは基本的な考えです。そのスキームでは、誰がデータのマスターであるかを決定し、同期外れデータ​​を心配する必要があります。 idsを返すようにクエリを行い、イベントストアから表示するデータを取得することをお勧めします。また、フォールバック戦略や欠けていることを検出してイベントストアにプッシュするオプションもあります(申し訳ありませんが、あなたのアプリについて多くは分かりません)。その場合、豊富な照会を可能にするが、イベント・ストアからのデータの表示を好むデータをデータベースに保管します。もう少し仕事はありますが、はるかに頑強です。また、カレンダーなどを再設定することもできます。 – bryanmac

+0

ありがとう、これは革新的なアプローチです。 – Jazzmine