J'ai deux fichiers de classe générés par Core Data auxquels j'aimerais ajouter des méthodes personnalisées. Je n'ai pas besoin d'ajouter de variables d'instance. Comment puis-je faire ceci?Puis-je ajouter une méthode personnalisée aux classes générées par Core Data?
J'ai essayé d'ajouter une catégorie de méthodes:
// ContactMethods.h (my category on Core Data-generated "Contact" class)
#import "Contact.h"
@interface Contact (ContactMethods)
-(NSString*)displayName;
@end
...
// ContactMethods.m
#import "ContactMethods.h"
@implementation Contact (ContactMethods)
-(NSString*)displayName {
return @"Some Name"; // this is test code
}
@end
Cela ne fonctionne pas, cependant. Je reçois un message du compilateur disant que "-NSManagedObject peut ne pas répondre à" displayName "" et bien sûr, quand je lance l'application, je ne reçois pas "Some Name" où je devrais le voir.
Ceci est la manière "correcte" de le faire. Cependant, il peut devenir difficile de gérer l'amalgame de code généré par une machine et un humain. Je recommande fortement d'utiliser le ** mogenerator ** de Wolf Rentzsch (http://rentzsch.github.com/mogenerator/). Il automatise cette tâche répétitive et sujette aux erreurs et ajoute de très jolies fonctionnalités automatisées à la classe personnalisée, comme la (dé) boxe de NSNumbers et autres. –