---
title: "predicateForCompletedReminders(withCompletionDateStarting:ending:calendars:)"
framework: eventkit
role: symbol
role_heading: Instance Method
path: "eventkit/ekeventstore/predicateforcompletedreminders(withcompletiondatestarting:ending:calendars:)"
---

# predicateForCompletedReminders(withCompletionDateStarting:ending:calendars:)

Creates a predicate to identify all completed reminders that occur within a given date range.

## Declaration

```swift
func predicateForCompletedReminders(withCompletionDateStarting startDate: Date?, ending endDate: Date?, calendars: [EKCalendar]?) -> NSPredicate
```

## Parameters

- `startDate`: The start date of the range of reminders fetched, or nil for all completed reminders before endDate.
- `endDate`: The end date of the range of reminders fetched, or nil for all completed reminders after startDate.
- `calendars`: An array of calendars to search.

## Mentioned in

Retrieving events and reminders

## Return Value

Return Value A predicate to use when calling fetchReminders(matching:completion:).

## Discussion

Discussion Pass nil for both startDate and endDate to get all complete reminders in the specified calendars.

## See Also

### Searching calendars

- [enumerateEvents(matching:using:)](eventkit/ekeventstore/enumerateevents(matching:using:).md)
- [events(matching:)](eventkit/ekeventstore/events(matching:).md)
- [fetchReminders(matching:completion:)](eventkit/ekeventstore/fetchreminders(matching:completion:).md)
- [cancelFetchRequest(_:)](eventkit/ekeventstore/cancelfetchrequest(_:).md)
- [predicateForEvents(withStart:end:calendars:)](eventkit/ekeventstore/predicateforevents(withstart:end:calendars:).md)
- [predicateForReminders(in:)](eventkit/ekeventstore/predicateforreminders(in:).md)
- [predicateForIncompleteReminders(withDueDateStarting:ending:calendars:)](eventkit/ekeventstore/predicateforincompletereminders(withduedatestarting:ending:calendars:).md)
- [EKEventSearchCallback](eventkit/ekeventsearchcallback.md)
