2010-05-27 4 views
0

Je suis débutant en développement mac os x et je suis en train de commencer avec tout ça.Cacao Données de base: impossible de sauvegarder les éléments créés dans NSTableview

Voici mon problème: J'ai créé une application de cacao non basée sur un document en utilisant des données de base comme stockage. J'ai ajouté une entité et des attributs au xdatamodel. Dans IB j'ai créé un NSArrayController et je l'ai lié correctement. J'ai créé une nstableview liée au nsarraycontroller. Ensuite, j'ai ajouté un bouton lié à nsarraycontroller avec la méthode "add:".

Lorsque je l'essaie, je peux ajouter et modifier les éléments de la table.

Voici le problème: Les données de base sont supposées sauvegarder tout automatiquement, mais pour m'assurer que j'ai lié le bouton "sauvegarder" dans le menu à l'appdelegate et au "propriétaire du fichier", premier répondeur, application ... tout est possible (avec les deux méthodes "save:" et "saveaction:").

Et encore, il ne sauvegarde pas lorsque vous cliquez sur Enregistrer: lorsque je redémarre la cellule créée (et renommée) ont disparu.

Et aussi, je n'ai même pas encore édité le code source; Les données de base pour de telles tâches simples sont supposées avoir seulement besoin du constructeur d'interface.

S'il vous plaît aidez-moi pour cela, je n'ai pas trouvé de discussions résoudre ce problème.

Merci d'avance.

Répondre

0

Pour enregistrer les modifications, vous devez appeler save: sur le contexte d'objet géré.

Si vous regardez l'exemple de CoreDataBooks, vous verrez comment ils l'appellent comme celui-ci à la suite de l'utilisateur en appuyant sur Enregistrer:

- (IBAction)saveAction:(id)sender { 

    NSError *error; 
    if (![[self managedObjectContext] save:&error]) { 
     // Update to handle the error appropriately. 
     NSLog(@"Unresolved error %@, %@", error, [error userInfo]); 
     abort(); // Fail 
    } 
} 
+0

Je ne comprends pas, devrais-je créer un « managedobjectcontext "objet dans IB? Parce que l'élément de menu de sauvegarde est lié à tout ce qui est possible avec la fonction "save:". Ça ne marche toujours pas. merci, –

+0

Le menu devrait appeler une action comme celle que j'ai posté dans le contrôleur de votre application. Regardez l'exemple de code. –

Questions connexes