Je souhaite modifier un enregistrement existant dans les données de base. À l'heure actuelle, j'ai ce code, mais il crée un nouveau record (et insère les données correctes dans la bonne colonne):Problème NSManagedObject setValue (Données de base)
NSManagedObjectContext *context = [[NSApp delegate] managedObjectContext];
NSManagedObject *instrument = nil;
instrument = [NSEntityDescription insertNewObjectForEntityForName: @"Instrument"
inManagedObjectContext: context];
[instrument setValue:[NSNumber numberWithInt:quantityInStockInstruments]
forKey: @"quantity"];
Le résultat ressemblera à ceci:
Instrument | Value | Quantity
Violin | £25 | 9
| | 8 <<< This is the new record that is created, instead of setting the
quantity of violin from '9' to '8'
Je veux le programme pour éditer la colonne quantité de la ligne en surbrillance, (dans ce cas, la ligne 'violon')
La mise à jour de la ligne en surbrillance dépend de la façon dont la table reçoit ses données. Utilisez-vous un ArrayController/bindings ou une source de données? – amrox
Je lie la table à un NSArrayController avec l'entité étant: instrument. L'entité instrument est dans le modèle Core Data. btw, je n'ai pas de fichier .h et .m correspondant à ce NSArrayController. – Michael