Я пытаюсь удалить все объекты WSR, связанные со всеми объектами Exercise в конкретном объекте тренировки.
У меня просто возникли проблемы с фильтрацией всех объектов WSR. Как это настроено прямо сейчас, если у меня есть несколько объектов Exercise, удаляются только значения WSR, связанные с первым объектом Exercise, но не остальные.
Как можно отфильтровать все связанные объекты WSR со всеми объектами упражнений в рамках определенной тренировки?
class Days : Object {
@objc dynamic var weekday : String = ""
let workout = List<Workouts>()
}
class Workouts : Object {
@objc dynamic var title : String = ""
var parentDay = LinkingObjects(fromType: Days.self, property: "workout")
let exercise = List<Exercises>()
}
class Exercises : Object {
@objc dynamic var exerciseName : String = ""
var parentWorkout = LinkingObjects(fromType: Workouts.self, property: "exercise")
let wsr = List<WeightSetsReps>()
}
class WeightSetsReps : Object {
@objc dynamic var weight = 0
@objc dynamic var reps = 0
var parentExercise = LinkingObjects(fromType: Exercises.self, property: "wsr")
}
if days?[indexPath.section].workout[indexPath.row].exercise.isEmpty == false {
if let selectedWorkout = days?[indexPath.section].workout[indexPath.row] {
let thisWorkoutsExercises = realm.objects(Exercises.self).filter("ANY parentWorkout == %@", selectedWorkout)
// Filter function to get all wsr's associated with the selected workout...
let thisWorkoutsWsr = realm.objects(WeightSetsReps.self).filter("ANY parentExercise == %@", days?[indexPath.section].workout[indexPath.row].exercise[indexPath.row])
realm.delete(thisWorkoutsWsr)
realm.delete(thisWorkoutsExercises)
realm.delete((days?[indexPath.section].workout[indexPath.row])!)
}
} else {
realm.delete((days?[indexPath.section].workout[indexPath.row])!)
}