9
votes

Données de base - Comment générer CoreDatageneratedAccessors?

J'ai parcouru le site Web Apple Dev, Google et le débordement de la pile pour comprendre les bases de CoredatageneratedAccessors.

J'utilise Xcode 4.2 et des données de base. J'ai créé des entités et leurs relations correctement incluses. P>

Le code suivant est en échec: p> xxx pré>

car il n'y a pas de méthodes accessoires générées automatiquement, j'ai mis les suivants Code manuellement dans l'une des sous-classes NSManèdeObject. Le code suivant n'a pas été généré lorsque j'ai créé NSManageDObjects pour mes entités. J'ai essayé de générer automatiquement des accesseurs en passant à travers peu d'articles et de suggestions telles que Xcode Copy & Coller, etc., mais rien ne génère le code suivant. P>

dans REM ManagementObject -> P>

@interface Rem (CoreDataGeneratedAccessors)
- (void)addRemDetailObject:(RemDetail *)value;
- (void)removeRemDetailObject:(RemDetail *)value;
- (void)addRemDetail:(RemDetail *)value;
- (void)removeRemDetail:(RemDetail *)value;
@end


0 commentaires

4 Réponses :


1
votes

regarder ici:

https://github.com/rentzsch/mogenerator

Ce petit outil générera les classes d'accesseur pour vous - je l'utilise dans de nombreux projets et cela fonctionne bien!


0 commentaires

19
votes

Avez-vous vérifié le commutateur "à-de nombreuses relations" dans les propriétés de la relation?


1 commentaires

Merci. Vérifier le commutateur "à-de nombreuses relations" dans les propriétés de la relation l'astuce.



3
votes

La réponse de Julien faisait partie de la solution, mais voici comment je résolvai-je:

  1. Assurez-vous que vous avez une relation à plusieurs.
  2. Si vous avez déjà effectué une classe pour votre entité, supprimez-la, puis avec votre XCDatamodel Ouvrir, allez à l'éditeur -> Créez la sous-classe NsManageDObject et suivez l'Assistant.

    La classe générée aura CoreDatageneratedAccessors que vous recherchez.


1 commentaires

Pas sûr du point 1, mais le point 2 était suffisant dans mon cas pour Xcode 7.1 sur Mac OS X 10.11.1



0
votes

1) a créé une nouvelle version du modèle de données de base via Xcode.

2) corrige la relation (ajouté une nouvelle relation entre les deux. https://developer.apple.com/library/watchos/documentation/cocoa/conceptual/coredata/howmanagedObjectSareRerelated.html)

3) ré-créé la sous-classe NSManèdeObject


0 commentaires