1

現在、iPhone のカレンダー アプリを作成しようとしています。既存の iPhone カレンダーと確実に同期するために、EKEventツールキットを使用しています。

ただし、保存するイベントには、許可されているよりも多くのプロパティがありますEKEvent。たとえば、イベントには、タイトル、詳細、許可されている他のいくつかのカテゴリだけではありません。また、テーマや優先事項もあるでしょう...

したがって、EKEventStoreカレンダーを起動するたびに をロードすると、この情報EKEventsはロードされる に含まれません。

EKEventsこの情報を既存の情報に関連付けて、カレンダーが読み込まれるたびにこれらの追加のプロパティも読み込まれるようにするにはどうすればよいですか?

を使用しますeventIdentifierが、iPhone のドキュメントには、「イベントのカレンダーが変更されると、その識別子も変更される可能性が高い」と記載されています。これを正しく読んでいる場合、これはeventIdentifier、イベントを識別するために一貫して使用できないことを意味します..

4

1 に答える 1

0

このプロパティを使用して、notes後で解析できる文字列を設定します。EKCalendarItem は EKEvent のスーパークラスであるため、 のプロパティの一部はEKEventから継承されEKCalendarItemます。(ドキュメントはこちら

EKEventただし、ノートは のプロパティではなくなりましたが、 にノートを「設定」することはできEKEventます。(図に行く)

したがって、あなたの質問から、次のように、追加の (カスタム) プロパティごとに整数を設定する場合があります..

イベントを作成するビュー コントローラ コード: - カスタム オプションごとに整数を設定します。(優先順位、テーマ等)

int 優先度 = 0;

    EKEvent *newEvent = [EKEvent eventWithEventStore:yourEventStore];

    [newEvent setCalendar:yourCalendar];

    if (priority == 0) {
        newEvent.notes = @"0"
    }

    newEvent.title = @"YourTitle";
    newEvent.startDate = yourStartDate;
    newEvent.endDate = yourEndDate;

    [youreventStore saveEvent:newEvent span:EKSpanThisEvent commit:YES error:nil];

次に、カスタム プロパティを確認/変換する場合は、イベントのメモを使用して取得するかcharacterAtIndex、メモから subString を作成し、それを別の文字列と比較するたびにイベントのメモを確認します。

于 2012-11-11T22:24:13.197 に答える