0
我想使用CoreData。我已經在一段時間後創建了這個coreData文件。我正在嘗試向文件寫入一些值,但上下文始終爲空。核心數據 - 上下文爲空
- (NSManagedObjectContext *)managedObjectContext {
NSManagedObjectContext *context = nil;
AppDelegate *delegate = [[UIApplication sharedApplication] delegate];
context = [delegate managedObjectContext];
if(context == nil)
{
NSLog(@"CONTEXT IS NIL");
}
return context;
}
方法沒有錯誤,但在這裏崩潰:
//here is null
NSManagedObjectContext *context = [self managedObjectContext];
// Create a new managed object
NSManagedObject *newDevice = [NSEntityDescription insertNewObjectForEntityForName:@"Kwejki" inManagedObjectContext:context];
的情況下是空的。我不知道爲什麼它是空的,如果我從AppDelegate對象獲取此上下文。我在我的應用程序中使用TabBarController,它從第一個選項卡開始。哪裏不對?
更新::
@synthesize managedObjectContext = _managedObjectContext;
@synthesize managedObjectModel = _managedObjectModel;
@synthesize persistentStoreCoordinator = _persistentStoreCoordinator;
- (NSManagedObjectContext *)managedObjectContext {
if (self.managedObjectContext != nil) {
return self.managedObjectContext;
NSLog(@"managedOC - != nil");
}
NSPersistentStoreCoordinator *coordinator = [self persistentStoreCoordinator];
if (coordinator != nil) {
NSLog(@"coordinator - != nil");
//Here I get two errors below "Receiver type NSManagedObjectContext for instance message is a forward declaration"
self.managedObjectContext = [[NSManagedObjectContext alloc] init];
[self.managedObjectContext setPersistentStoreCoordinator:coordinator];
}
return self.managedObjectContext;
}
請發佈代碼從AppDelegate managedObjectContext方法。 – blazejmar
......如果你是我的員工,請解釋爲什麼你顯然認爲使用應用程序委託作爲一個全能的單身人士是合適的。我懷疑這不是一個有用的評論。 – Tommy
我已更新帖子。我仍然在學習目標 - C @Tommy和我第一次使用CoreData。 – DKM