Я сохраняю данные ядра после того, как пользователь завершил «тренировку» и захочет проверить, соответствуют ли даты, которые пользователь разработал, в последовательном порядке. Я использовал приведенный ниже код, чтобы проверить, был ли пользователь разработан в тот день, который нажал на календарь, но не может подумать, как проверить, соответствуют ли дни.Основные данные: как проверить, находятся ли данные в последовательных датах?
Сначала я думал о том, чтобы взять .Day из сохраненного NSDate и посмотреть, будут ли дни в порядке, но это не сработает в течение последовательных дней, когда месяц изменится, например. с 31-го по 1-й месяц.
let appDel: AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
let context: NSManagedObjectContext = appDel.managedObjectContext
OuterLoop: do {
let request = NSFetchRequest(entityName: "Workout")
let workoutResults = try context.executeFetchRequest(request) as! [Workout]
if workoutResults.count > 0 {
for item in workoutResults {
let workoutDateDay = NSCalendar.currentCalendar().component(.Day, fromDate: item.workoutDate!)
if workoutDateDay == dayView.date.day {
let convertedTime:Int = Int(item.workoutTime!)
let convertedNumberOfWorkouts: Int = Int(item.workoutNumber!)
tempArray.append(convertedTime)
tempArrayWorkoutNumber.append(convertedNumberOfWorkouts)
Спасибо за ваш ответ, это хорошо работает на 2 даты, но как я могу настроить этот код, чтобы проверить, если более чем на 2 даты (например, 10 дат) подряд? –
Выполняет ли обновленный код то, что вам нужно? –
Пытаясь это сделать, я борюсь с тем, как добавить параметр основных данных в вашу функцию. Мое имя сущности - тренировка, и она имеет два атрибута; workoutDate и workoutTime. workoutDate имеет тип NSDate, и это значения, которые я хочу проверить, в порядке. –