J'ai configuré mon projet avec l'option "Utiliser Coredata".Problèmes avec NSManagedObjectContext
XCode évidemment mis tout cela pour moi automatiquement, et maintenant j'ai ces lignes dans le fichier d'en-tête délégué app:
@interface GFree2AppDelegate : NSObject <UIApplicationDelegate> {
UIWindow *window;
GFree2ViewController *viewController;
UINavigationController *navController;
NSManagedObjectContext *managedObjectContext_;
NSManagedObjectModel *managedObjectModel_;
NSPersistentStoreCoordinator *persistentStoreCoordinator_;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet GFree2ViewController *viewController;
@property (nonatomic, retain) IBOutlet UINavigationController *navController;
@property (nonatomic, retain, readonly) NSManagedObjectContext *managedObjectContext;
@property (nonatomic, retain, readonly) NSManagedObjectModel *managedObjectModel;
@property (nonatomic, retain, readonly) NSPersistentStoreCoordinator *persistentStoreCoordinator;
- (NSString *)applicationDocumentsDirectory;
@end
Ma première question est, pourquoi les pointeurs initiaux pour l'objet géré et d'autres choses avoir des underscores? C'est ainsi qu'ils sont utilisés dans le fichier .m et pourtant les @property
n'ont pas de caractère de soulignement.
Ma question suivante est, je veux utiliser le contexte plus loin dans dans mon script, donc je l'ai utilisé ces lignes:
GFree2AppDelegate *delegate = [[UIApplication sharedApplication] delegate];
context = delegate.managedObjectContext;
Maintenant, cela ne fonctionnera pas, car il n'y a pas obvs @synthesize. Mais de quoi ai-je besoin pour synthétiser? Est-ce que je synthétise AVEC le trait de soulignement, ou sans, et est-ce que je l'obtiens? delegate.managedObjectContext
ou delegate.managedObjectContext_
? Ou pas du tout? Ha .. Je ne suis pas sûr de comprendre tous ces trucs d'objets gérés.
Merci beaucoup. Tom
hmm .... Je viens de supprimer toutes les instances du nom de la variable avec le trait de soulignement et remplacé sans le caractère de soulignement. –