如何在 EventKit 中使用 CalendarIdentifier 获取提醒?
Posted
技术标签:
【中文标题】如何在 EventKit 中使用 CalendarIdentifier 获取提醒?【英文标题】:How to fetch Reminder with CalendarIdentifier in EventKit? 【发布时间】:2018-08-05 06:37:11 【问题描述】:在 Apple 文档中 使用唯一标识符搜索
如果您知道事件的唯一标识符,因为您之前使用谓词获取它,您可以使用 EKEventStore 方法 event(withIdentifier:) 来获取事件。如果是重复事件,则此方法将返回该事件的第一次发生。您可以使用 eventIdentifier 属性获取事件的唯一标识符。
同样,如果您通过之前使用谓词获取特定提醒的唯一标识符,您可以调用 calendarItem(withIdentifier:) 实例方法。 calendarItem(withIdentifier:) 可以获取任何日历项(提醒和事件),而 event(withIdentifier:) 仅获取事件。
我的问题是我想获取一个 EKReminder 以使用 isCompleted
属性。
// Mark reminder as completed
// Use the completed property to mark a reminder as completed
func complete(_ reminder: EKReminder)
reminder.isCompleted = true
/* Some my customize code */
// Update the reminder
self.save(reminder)
但是
方法 func calendarItem(withIdentifier identifier: String) -> EKCalendarItem?
返回一个 EKCalendarItem。
我不想使用 for 循环准确搜索我想要的提醒。 有什么办法吗?
【问题讨论】:
【参考方案1】:EKCalendarItem
是EKReminder
和EKEvent
的基类。如果您知道日历项是提醒事项,请将其发送至 EKReminder
let reminder = store.calendarItem(withIdentifier: identifier) as! EKReminder
【讨论】:
以上是关于如何在 EventKit 中使用 CalendarIdentifier 获取提醒?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 EventKit 中使用 CalendarIdentifier 获取提醒?