У меня очень странная ошибка в моем приложении. Попытка сохранить событие с помощью saveEvent
приводит к продолжению работы приложения одним из трех способов:
- Все сохраняется корректно и без проблем
- Приложение вылетает с ошибкой
unrecognized selector sent to instance
, где селектор-нарушитель –constraints:
, а объект, которому оно отправляется, всегда отличается и довольно непредсказуем (это почти всегда закрытые классы SDK). - Приложение вылетает с ошибкой
EXC_BAD_ACCESS
Пытаясь отладить это, я разделил приложение только на контроллер представления, в котором перечислены события, с кнопкой для добавления нового. В первый раз, когда я представляю контроллер представления для добавления события, все идет гладко, но во второй раз, когда я это делаю, выдает ошибку.
Вот код, который я использую:
self.event = EKEvent(eventStore: self.eventStore!)
self.event!.calendar = self.calendar!
self.event!.startDate = self.defaultStartDate()
self.event!.endDate = self.event!.startDate.dateByAddingTimeInterval(3600)
var error: NSError?
self.eventStore!.saveEvent(self.event!, span:EKSpanThisEvent, error: &error)
if let e = error {
println("Saving error: \(error)")
}
Если значения для calendar
, startDate
или endDate
недействительны, я получаю описательную ошибку без сбоя, но здесь происходит сбой на self.eventStore!.saveEvent()
. Любая помощь приветствуется!
Изменить Оказывается, это произошло из-за постороннего вызова self.eventStore.reset()
.