J'ai un NSManagedObject appelé "Routine", qui a déjà été enregistré dans mon modèle de données. Il a une relation to-many à un autre NSManagedObject appelé "Workout". Je veux éditer la routine afin d'y ajouter plus de relations d'entraînement.CoreData dupliquera-t-il les objets?
let routine = fetchedResultsController.objectAtIndexPath(indexPath) as! Routine
Le ViewController où je modifier le routine dans mon modèle de données contient un tableau d'objets d'entraînement:
var myWorkouts = [Workout]()
Certains des séances d'entraînement dans le tableau « de myWorkouts » peuvent avoir déjà été associé à la routine, tandis que d'autres ne peuvent pas avoir (une nouvelle séance d'entraînement). Je crée une relation entre chaque séance d'entraînement et la routine comme ceci:
for workout in myWorkouts {
routine!.setValue(NSSet(objects: workout), forKey: "workout")
}
Ma question: Si une relation entre une routine et une séance d'entraînement a déjà été créé, sera ci-dessus pour boucle créer une copie de cette entraînement à associer à ma routine, ou va-t-il seulement créer de nouvelles relations pour des entraînements non associés auparavant?
J'espère que mes questions ont un sens. Merci d'avance pour l'aide!
CoreDataProperties de routine du fichier
import Foundation
import CoreData
extension Routine {
@NSManaged var name: String?
@NSManaged var workout: Set<Workout>?
}
J'ai déjà fait l'étape 1, mais 2 et 3 sont des suggestions fantastiques alors merci beaucoup! Je m'habitue toujours à travailler avec la mise à jour et l'ajout de relations, alors j'apprécie l'explication! : D – user3353890
De rien! Et, à l'étape 3, en général, c'est toujours beaucoup plus sain (et je l'ai eu en arrière la première fois), pour faire des appels pour stocker des choses sur le côté à un. – sschale
Génial! Donc, si je comprends bien, je change juste le désordre brouillé de la routine! .setvalue ... en routine.workout = workout – user3353890