2

ユーザーが UIButton をクリックすると、イベントが iCal に自動的に追加されるシナリオがあります。#import フレームワークをインポートして EKEventEditViewDelegate を追加した後、イベントの開始日やタイトルなどを追加するにはどうすればよいですか。この情報はすべてサーバーからテキスト ファイルとしてダウンロードされます。イベントの日時とタイトルを設定するのに役立つ機能はありますか? EventsViewController を開くのではなく、バックエンドで開く必要があります。助言がありますか?

4

1 に答える 1

4

と を設定EKEvent startDateしただけendDateです。「バックエンドで行う」という意味がわかりません...

- (BOOL)createEvent:(NSString *)title 
                 at:(NSString *)location 
           starting:(NSDate *)startDate 
             ending:(NSDate *)endDate 
           withBody:(NSString *)body 
             andUrl:(NSURL *)url
{

    EKEventStore *eventStore = [[EKEventStore alloc] init];

    EKEvent *event  = [EKEvent eventWithEventStore:eventStore];
    event.title     = title;
    event.location  = location;
    event.startDate = startDate;
    event.endDate   = endDate;
    event.notes     = body;
    if (url)
        event.URL   = url;

    [event setCalendar:[eventStore defaultCalendarForNewEvents]];

    EKEventEditViewController *eventViewController = [[EKEventEditViewController alloc] init];
    eventViewController.event = event;
    eventViewController.eventStore = eventStore;
    eventViewController.editViewDelegate = self;

    [_viewController presentModalViewController:eventViewController animated:YES];

    return TRUE;
}

NSDateサーバーからの日付文字列をオブジェクトに変換したい場合は、NSDateFormatter通常、その仕事をします (サーバーの日付テキスト文字列が適切に定義された形式であると仮定します)。たとえば、次のように機能します。

NSString *sampleDate = @"7/23/12 2:30 pm";

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = @"M/d/y h:mm a";

NSDate *date = [formatter dateFromString:sampleDate];
于 2012-07-23T05:25:15.787 に答える