2009-12-21 6 views

Répondre

6

En supposant que votre NSTableView est lié à un NSArrayController (qui est le modèle le plus courant lorsqu'ils traitent avec base de données), vous pouvez simplement utiliser la méthode de remove:NSArrayController:

[theArrayController remove:self]; 

Cela supprimera tous les objets qui sont sélectionné dans le contrôleur RAID.


Sinon, si vous n'êtes pas lié à un NSArrayController, vous aurez besoin pour faire face à l'objet sélectionné directement. Sans savoir comment vous peupler votre tableView, je ne peux pas montrer tout le code nécessaire, mais probablement vous pouvez trouver NSManagedObject qui est sélectionné. Une fois que vous avez cet objet, il est un jeu d'enfant de le supprimer:

NSManagedObjectContext *moc = the managed object context for your objects; 
NSManagedObject *selectedObject = the currently-selected object; 
[moc deleteObject:selectedObject]; 
1

Vous pouvez supprimer la ligne en utilisant la méthode tableView:setObjectValue:forTableColumn:row: de NSTableViewDataSource, puis forcer la table à être mis à jour en utilisant la méthode reloadData de NSTableView.

+0

Est-ce que supprimer l'entrée de base de données (BTW j'utilise Manchettes) – nanochrome

+0

Faire comme je l'ai signalé, vous supprimez simplement l'objet de la table (la celui qui est passé comme 'setObjectValue:' dans 'tableView: setObjectValue: forTableColumn: row:'. Vous devez ensuite supprimer l'objet – kiamlaluno

+0

Désolé, mais je ne comprends toujours pas ...... Je suis un newbie at cacao/objectif c – nanochrome

Questions connexes