2013-07-02 4 views
0

J'ai touché un peu un mur de briques et je cherche de l'aide avec une application Cocoa OSX que j'essaie de mettre ensemble.Mettre à jour l'objet de données de base sélectionné à partir de la vue de table

J'ai une seule entité dans les données de base, qui est peuplée à partir d'un dictionnaire tiré du réseau. Les objets de données de base sont ensuite affichés dans TableView à l'aide de liaisons et d'un contrôleur de groupe.

Maintenant, je veux la capacité de détecter l'objet sélectionné dans la table, puis quand un bouton est pressé dans l'interface graphique pour mettre à jour un attribut spécifique de l'entité sélectionnée.

C'est où j'ai frappé un mur de briques, beaucoup d'informations sur comment tirer/mettre à jour des objets lorsqu'il est tiré avec un prédicat, et beaucoup sur comment lier directement au contrôleur de tableau pour ajouter/supprimer/supprimer. Mais rien sur la façon de mettre à jour une propriété cachée avec une valeur qui est stockée dans le code.

Toute aide/pointeur grandement appréciée, surtout si c'est OSX plutôt qu'iOS orienté!

Merci

Gareth

Répondre

0

En fait, je réussi à nous en sortir.

D'abord, j'ai implémenté une fonction qui récupère l'objet sélectionné du contrôleur de matrice et le renvoie.

-(Tweet*)getCurrentSelectedTweet { 
    if ([[self.twitterClientsController selectedObjects] count] > 0) { 
     return [[self.twitterClientsController selectedObjects] objectAtIndex: 0]; 
    } else { 
     return nil; 
    } 
} 

Puis-je utiliser cette fonction liée à un IBAction pour appeler et modifier l'objet:

- (IBAction)approveTweet:(id)sender { 
    Tweet *selectedTweet = [self getCurrentSelectedTweet]; 
    if (selectedTweet) { 
     selectedTweet.approved = [NSNumber numberWithBool:TRUE]; 
     NSLog(@"%@", selectedTweet); 
    } 
} 
Questions connexes