2010-08-27 43 views
0

我已经使用“use coredata”选项设置了我的项目。NSManagedObjectContext问题

的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.managedObjectContextdelegate.managedObjectContext_?还是根本不?哈..我不太清楚我是否理解所有这些管理对象的东西。

非常感谢。 汤姆

回答

0

下划线只是一个偏好的风格,如果你愿意,你可以用它或不合成它(但如果从声明的属性不同,你应在财产申报与getter=managedObjectContext例如

指定正确的名称
+0

嗯....我刚刚删除了下划线的变量名的所有实例,并没有下划线替换。 – 2010-08-28 13:05:21

相关问题