Я загружаю все свои календари в виде таблицы, где каждый календарь представлен в ячейке.Теперь я хочу напечатать все события календаря ячейки, когда я нажимаю на ячейку.Проблема в том, что с помощью кода, который вы видите, я получаю события всех календарей.
Как я могу сказать функции только смотреть в календаре, который я нажал в табличном представлении?
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let calendarTitle = calendars![indexPath.row].title
print(calendarTitle)
let calendar = Calendar.current
print("Current \(calendar)")
var oneDayAgoComponents = DateComponents()
oneDayAgoComponents.day = -1
let oneDayAgo = calendar.date(byAdding: oneDayAgoComponents, to: Date())
var oneDayFromNowComponents = DateComponents()
oneDayFromNowComponents.day = 7
let oneDayFromNow = calendar.date(byAdding: oneDayFromNowComponents, to: Date())
var predicate: NSPredicate? = nil
if let anAgo = oneDayAgo, let aNow = oneDayFromNow {
predicate = eventStore.predicateForEvents(withStart: anAgo, end: aNow, calendars: nil)
}
var events: [EKEvent]? = nil
if let aPredicate = predicate {
events = eventStore.events(matching: aPredicate)
for event in events! {
print(event.title)
}
}
}