2016-09-15 31 views
1

我有一個從服務器加載的事件數據條目數組。我認爲如果我可以使用EventKit lib來處理諸如事件再發的東西,它可能會很方便。但我不想讓我的活動成爲全球活動(這可能意味着保存到日曆數據庫中),這些活動將顯示在所有日曆應用程序上。相反,我只想讓我的事件只能在我的應用程序中訪問。iOS - 是否可以使用EventKit庫但不保存任何數據到數據庫(至少在任何日曆應用程序中都不顯示)

這是可以實現的嗎?

在此先感謝!

回答

0

我將在EKEvent上實現NSCoder協議,然後它將允許您在應用程序終止時存儲陣列,並在載入時恢復它。已經有各種github項目可以爲你做到這一點(例如https://github.com/yep/DeviceSync-for-iOS/blob/master/DeviceSync/Categories/EKEvent%2BNSCoder.h)。

另一種方法是使用核心數據,但您必須小心將EKEvent的所有屬性映射到數據庫實體和屬性中。

+0

感謝評議人,我能否從事件存儲獲取所有EKEvent。例如下面的代碼還能工作嗎? NSArray * events = [self.eventStore eventsMatchingPredicate:predicate]; – user744641

+0

這將返回用戶當前的日曆事件,所以是的。系統會詢問用戶是否要允許您的應用訪問。如果你想在你自己內部持有的事件數組上運行謂詞,使用「[myEventArray filteredArrayUsingPredicate:]」。只是提及您內部持有的事件數組實際上不會有任何日曆功能(例如提醒,同步等)。你需要自己處理。 – norders

+0

我想我可能解釋不好。我不想將附加數據附加到EKEvents,相反,我想創建並使用它們作爲普通的EKEvent,但有一個例外 - 它不保存到數據庫,所以它只在我的應用程序中可用,用戶不會在所有在日曆應用程序。 – user744641

相關問題