如何从默认日历中删除所有事件

时间:2017-11-13 23:52:51

标签: swift ekevent ekeventstore

如果点按按钮,如何删除默认日历中的所有事件?

这是我目前的代码

     @IBAction func deleteEvents(_ sender: UIButton) {

         eventStore.calendars(for: .event).removeAll()
      }

第一个问题不是当前日历。第二个问题是我收到以下错误:

错误:

  

不能在不可变值上使用变异成员:函数调用返回不可变值

1 个答案:

答案 0 :(得分:0)

没有removeAll方法。

您需要使用EKEventStore的方法来查询和删除所需的事件。

在高级别你需要:

  1. 请求授权以访问日历活动。
  2. 获取对EKCalendar
  3. 所需的参考
  4. 为您要查询的事件创建谓词。您需要一个日期范围和日历。
  5. 枚举与谓词匹配的事件。
  6. 删除每个枚举事件。
  7. 所有需要的API都在EKEventStore类中。有关详细信息,请参阅其文档。