2011-03-09 53 views
4

我有一個核心數據存儲上設置了NSManagedObject的Xcode中生成的子類:注意。NSManagedObject initWithEntity:insertIntoManagedObjectContext:EXC_BAD_ACCESS

我可以使用NSEntityDescription insertNewObjectForEntityName:inManagedObjectContext:沒有麻煩,但是當我嘗試這樣做:

NSManagedObjectContext* moc = [(QuickTextAppDelegate*)([[UIApplication sharedApplication] delegate]) managedObjectContext]; 

    Note* note = [[Note alloc] initWithEntity:@"Note" insertIntoManagedObjectContext:moc]; 

我得到一個EXC_BAD_ACCESS錯誤。

使用斷點我可以看到的NSManagedObjectContext *中確實指向一個有效的對象。

任何幫助,將不勝感激!

回答

14

我看到至少有一個問題有:initWithEntity:insertIntoManagedObjectContext:需要一個NSEntityDescription,而不是一個NSString。試試這樣的:

NSEntityDescription *entityDescription = [NSEntityDescription entityForName:@"Note" inManagedObjectContext:moc]; 
Note* note = [[Note alloc] initWithEntity:entityDescription insertIntoManagedObjectContext:moc]; 
+0

非常感謝!我確定我已經諮詢了文檔並嘗試了一切,但顯然我沒有足夠關注NSEntityDescription是什麼! – 2011-03-10 01:19:59