0
내 프로젝트에서 CoreData를 사용하기 시작했습니다. CodeData의 코드 조각이 없으면 프로젝트가 제대로 작동했습니다. coreData 프로젝트 템플릿에서 NSManagedObjectContext에 액세스하기위한 메소드를 추가했습니다. 이제 다음 코드를 사용하여 새로운 CoreData 개체를 만들려고 :CoreData를 사용할 때 "[CFString release] : 메시지가 할당 해제 된 인스턴스로 전송되었습니다"
- (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
어떤 아이디어가 잘못되었을 수 있습니까? 감사합니다.
예, 마지막에 어디 한 번만 컨텍스트를 저장하는 것은 의미가 있습니다 : 오류이 저장 기능은 coredata 컨텍스트를 사용하지 않을 경우
확인합니다. 이것을 지적 해 주셔서 감사합니다! – Jakub