2011-01-25 8 views
2

내가 여기서 뭘 잘못하고 있니? currentEvent.Title이 올바르게 인쇄됩니다. currentEvent.Notes는 항상 공백입니다.Monotouch EKEvent 저장되지 않은 노트

public void CalendarEvents() 
{ 
    EKEventStore store = new EKEventStore(); 
    EKCalendar calendar = store.DefaultCalendarForNewEvents; 

    // Query the event 
    if (calendar != null) 
    { 
    // Add a new event 
    EKEvent newEvent = EKEvent.FromStore(store); 
    newEvent.Title = "Lunch at McDonalds"; 
    newEvent.Calendar = calendar; 
    newEvent.StartDate = DateTime.Now.Date; 
    newEvent.EndDate = DateTime.Now.Date.AddDays(4); 
    newEvent.Availability = EKEventAvailability.Free; 
    newEvent.Notes = "hello"; 
    store.SaveEvent(newEvent, EKSpan.ThisEvent, new IntPtr()); 

    // Searches for every event in the next year 
    NSPredicate predicate = store.PredicateForEvents(NSDate.Now,DateTime.Now.AddDays(360),new EKCalendar[] {calendar}); 

    store.EnumerateEvents(predicate, delegate(EKEvent currentEvent, ref bool stop) 
    { 
     // Perform your check for an event type 
     Console.WriteLine(currentEvent.Title); 
     Console.WriteLine(currentEvent.Notes); 
    }); 

    } 
} 

답변

0

위의 내용은 '있는 그대로'컴파일되지 않으므로 API가 변경되었을 수 있습니다. 그래서 나는 당신을 업데이트 :

store.SaveEvent(newEvent, EKSpan.ThisEvent, new IntPtr()); 

그렇지 않으면

NSError error; 
store.SaveEvent(newEvent, EKSpan.ThisEvent, out error); 

에, 최신 MonoTouch를 사용하여, 나는 "응용 프로그램 출력"에 표시되는 두 문자열을 (응용 프로그램이 장치에서 실행) 얻을.

Lunch at McDonalds 
hello 

API가 수정되었을 때 수정되었을 수 있습니다.

관련 문제