2017-11-13 11 views
0

버튼을 누를 때 기본 캘린더의 모든 이벤트를 삭제하려면 어떻게해야합니까?기본 캘린더에서 모든 이벤트를 삭제하는 방법

이 내 현재 코드

 @IBAction func deleteEvents(_ sender: UIButton) { 

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

는 현재 일정이 아니다 첫 번째 문제입니다.

오류 :

Cannot use mutating member on immutable value: function call returns immutable value

답변

0

removeAll 방법이 없습니다 두 번째 문제는 다음과 같은 오류를 얻을 수 있다는 것입니다.

원하는 이벤트를 쿼리하고 제거하려면 EKEventStore 메서드를 사용해야합니다. 높은 수준에서

는 다음을 수행해야합니다

  1. 요청 권한을 일정 이벤트에 액세스 할 수 있습니다.
  2. EKCalendar에 대한 참조를 얻으십시오.
  3. 조회 할 이벤트에 대한 술어를 작성하십시오. 기간과 달력이 필요합니다.
  4. 술어와 일치하는 이벤트를 열거하십시오.
  5. 열거 된 각 이벤트를 삭제하십시오.

필요한 API는 모두 EKEventStore 클래스입니다. 자세한 내용은 해당 설명서를 참조하십시오.