2011-02-10 2 views
0

Je veux être en mesure d'imprimer ma commande NSManagedObject dans la console, pour ce faire, dans mon objet, je redéfinissant la méthode de description, comme ceci:Valeur d'affichage NSManagedObject personnalisée

@implementation Place 

@dynamic libelle; 
@dynamic latitude; 
@dynamic longitude; 

- (NSString *)description { 
    return [NSString stringWithFormat:@"{libelle=%@, latitude=%@, longitude=%@}", 
      libelle, latitude, longitude]; 
} 

@end 

Mais je ne peut pas accéder à mes propriétés @dynamic. Y a-t-il un moyen de faire cela ?

Répondre

1

Ok, je l'ai compris. La propriété n'existe pas, nous avons juste besoin d'utiliser l'accesseur.

@implementation Place 

@dynamic libelle; 
@dynamic latitude; 
@dynamic longitude; 

- (NSString *)description { 
    return [NSString stringWithFormat:@"{libelle=%@, latitude=%@, longitude=%@}", 
      self.libelle, self.latitude, self.longitude]; 
} 

@end 
+1

"Bien que la méthode de description ne déclenche pas une erreur, si vous implémentez une méthode de description personnalisée qui accède aux propriétés persistantes de l'objet, cela provoquera l'apparition d'un défaut. -Apple documentation https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/CoreData/Articles/cdManagedObjects.html – Rivera

2

Essayez d'utiliser la propriété, ne pas accéder aux variables d'instance directement: self.libelle, self.latitude et self.longitude.