0
我已經開始在我的項目中使用CoreData。沒有CodeData的代碼,我的項目工作得很好。我添加了從coreData項目模板訪問NSManagedObjectContext的方法。現在,我嘗試創建新CoreData對象用下面的代碼:「[CFString發佈]:消息發送到釋放實例」使用CoreData時
- (void)saveSearchResultToHistory:(NSArray *) productsArray {
[productsArray retain];
NSLog(@"context: %@", self.managedObjectContext);
Product *product = [NSEntityDescription
insertNewObjectForEntityForName:@"Product"
inManagedObjectContext:self.managedObjectContext];
product.productId = [(Product *) [productsArray objectAtIndex:0] productId];
NSError *error;
if (![self.managedObjectContext save:&error]) {
NSLog(@"Whoops, couldn't save: %@", [error localizedDescription]);
}
[productsArray release];
}
當這個方法被跑一次,然後一切都很好,當我嘗試運行它第二次,處理停止在:
Product *product = [NSEntityDescription
insertNewObjectForEntityForName:@"Product"
inManagedObjectContext:self.managedObjectContext];
與在控制檯以下錯誤消息:
[CFString字符串挽留]:消息發送到釋放的實例0x5a23b0
任何想法可能是錯誤的? 謝謝!
是,節能的背景下只有一次,在某處年底纔有意義。感謝您指出了這一點! – Jakub 2011-02-23 14:23:58