「usecoredata」オプションを設定してプロジェクトを設定しました。
XCodeは明らかにこれらすべてを自動的に設定し、アプリデリゲートヘッダーファイルに次の行があります。
@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
私の最初の質問は、管理対象オブジェクトなどの最初のポインターにアンダースコアが付いているのはなぜですか?これは、.mファイルでの使用方法ですが、@property
sにはアンダースコアがありません。
次の質問は、スクリプトでコンテキストをさらに使用したいので、次の行を使用しました。
GFree2AppDelegate *delegate = [[UIApplication sharedApplication] delegate];
context = delegate.managedObjectContext;
obvsには@synthesizeがないため、これは機能しません。しかし、何を合成する必要がありますか?アンダースコア付きで合成しますか、それともなしで合成しますか?delegate.managedObjectContext
またはdelegate.managedObjectContext_
?またはまったくない?Ha..この管理対象オブジェクトのすべてを理解しているのかよくわかりません。
どうもありがとう。トム