2011-01-25 2 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, я получаю обе строки, отображаемые в "Output Application" (приложение работает на устройстве).

Lunch at McDonalds 
hello 

Возможно, это было исправлено, когда API был изменен?

Смежные вопросы