使用eventStore.fetchReminders返回提醒数组

时间:2019-07-03 13:10:07

标签: ios swift reminders

使用函数获取然后返回[EKReminder]的数组以传递到下一步。但是,我可以在eventStore.fetchReminders代码块中获取提醒数组,只是似乎无法再将其删除?

我想调用此函数并获取[EKReminder]返回。尝试了此迭代以及其他许多迭代,并且在块中打印提醒的同时-myReminders始终为空。

func getReminders()-> [EKReminder] {
    let reminders = eventStore.calendars(for: .reminder)
    var myReminders = [EKReminder]()
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "yyyy-MM-dd"
    let start = dateFormatter.date(from: "2019-04-14")
    let end = dateFormatter.date(from: "2019-04-20")
    let remindersPredicate = eventStore.predicateForIncompleteReminders(withDueDateStarting: start!, ending: end!, calendars: reminders)
    eventStore.fetchReminders(matching: remindersPredicate, completion: {(these: [EKReminder]?) -> Void in
        myReminders = these!
        print (myReminders)
        for myr in myReminders {
        // these all print fine :)
            print ("title: \(String(describing: myr.title))")
            print ("prio: \(myr.priority)")
            print ("notes: \(String(describing: myr.notes))")
            print ("due: \(String(describing: myr.dueDateComponents))")
        }

    } )
    // Here it just prints [] ie an empty array :( 
    print (myReminders)
    return myReminders
}

这样调用func:

让thisIsTheArrayIWant = getReminders()

thisIsTheArrayIWant始终为空。叹气。

0 个答案:

没有答案