2016-03-20 4 views
1

При редактировании события на экземпляре EKEventEditViewController и выборе другого календаря календарь в событии изменяется, но изменения в других атрибутах, таких как заголовок, теряются.Изменения EKEventEditViewController не сохраняются при изменении календаря

Если я не выбираю другой календарь, изменения сохраняются, как ожидалось.

Это мой код при загрузке до редактора

let editorVC = EKEventEditViewController() 
eventKitEditorViewController = editorVC // eventKitEditorViewController is a class variable 

editorVC.event = ekEvent // ekEvent is the supplied event to edit 
editorVC.modalPresentationStyle = .Popover 
editorVC.eventStore = OP1EventKitManager.sharedInstance.eventStore // the store is on a singleton object 
editorVC.editViewDelegate = self 

rootVC.presentViewController(editorVC, animated: true, completion: nil) 

/// DELEGATE METHOD 

    func eventEditViewController(controller: EKEventEditViewController, didCompleteWithAction action: EKEventEditViewAction) { 
     print(action) 
     controller.dismissViewControllerAnimated(true, completion: nil) 
    } 

мне нужно делать ничего лишнего, когда eventEditViewController didCompleteWithAction завершена Do?

+0

У меня была такая же проблема, и решение заключалось в том, чтобы перезагрузить таблицу, отображающую мои события. EKEventEditViewController сохраняет изменения, когда пользователь нажимает кнопку «Готово» – jessi

ответ

1

В своем обратном вызове вы не сохраняете событие. попробуйте сохранить свое событие в обратном вызове и посмотрите, устраняет ли это проблему. что-то похожее на это:

let event = controller.event! 

do { 
    try eventStore.saveEvent(event, span: .ThisEvent, commit: true) 
} catch { 
    print("Could not update the event store with supplied changes") 
} 
Смежные вопросы