2012-07-23 57 views
2

我有一個場景,用戶點擊一個UIButton並將事件自動添加到我的iCal中。在導入#import框架並添加EKEventEditViewDelegate之後,我應該如何添加事件開始日期和標題等。所有這些信息都以文本文件的形式從服務器下載。有什麼功能可以幫助我設置活動日期時間和標題嗎? 我不應該打開EventsViewController,而是在後端執行它。有什麼建議麼?iCal事件 - 通過iOS應用程序以編程方式添加

回答

4

我剛剛設置了EKEventstartDateendDate。我不知道你是什麼意思「做它在後臺」 ......

- (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]; 
+0

如果我不想看到視圖控制器,該怎麼辦?添加事件時按下按鈕。該功能將從文本文件信息中添加事件。 – 2012-07-23 05:36:32

+0

@SiddharthanAsokan我不知道你是否可以。它可能很容易被濫用。但也許你可以,我不完全確定。雖然我最初的反應與你的一樣(嘖嘖,我真的需要嗎?!?),但從可用性的角度來看,事實證明,讓用戶調整他們認爲合適的條目實際上是相當不錯的。我不認爲這只是檸檬做檸檬水的問題,但它可能... – Rob 2012-07-23 05:40:29

+0

哈哈我同意。 btw Ev​​ents.alarm = _____它需要字符串嗎?或NSDate? – 2012-07-23 05:45:39

相關問題