如何在点击按钮时删除默认日历中的所有事件?
这是我当前的代码
@IBAction func deleteEvents(_ sender: UIButton) {
eventStore.calendars(for: .event).removeAll()
}
第一个问题不是当前日历。第二个问题是我收到以下错误:
错误:
Cannot use mutating member on immutable value: function call returns immutable value
最佳答案
没有 removeAll
方法。
您需要使用EKEventStore
的方法来查询和删除所需的事件。
在较高层面上,您需要:
- 请求访问日历事件的授权。
- 获取所需
EKCalendar
的引用。 - 为您要查询的事件创建谓词。您需要日期范围和日历。
- 枚举与谓词匹配的事件。
- 删除每个枚举事件。
所有需要的 API 都在 EKEventStore
类中。有关详细信息,请参阅其文档。
关于swift - 如何从默认日历中删除所有事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47275457/