핵심 데이터 프로젝트에 문제가 있습니다. NSArrayController NSManagedObjects 및 +/- 단추가 있습니다. 파일을 저장 한 후 행의 객체를 삭제해도 완벽하게 작동하지만 새 객체를 추가하고 즉시 기본값을 변경하지 않고 다시 삭제하면 오류가 발생합니다.핵심 데이터 : 저장되지 않은 개체를 삭제하는 경우 오류가 발생했습니다.
Serious application error. Exception was caught during Core Data change processing: Unknown number type or nil passed to arithmetic function expression. with userInfo (null)
Unknown number type or nil passed to arithmetic function expression.
새 개체의 추가를 취소하는 경우에도 마찬가지입니다.
아무에게도 포인터를 줄 수있는 사람이 있습니까? 나는 그것이 임시적인 ID 만 가지고 있다고 생각하지만, 그것을 해결하는 방법은 모른다.
당신은 그 문제에 대해'NSManagedObject' 나'-dealloc' 메소드의'-init ...'메소드를 덮어 쓰지 말아야합니다. 관찰자를 추가 할 필요가 있다면'-awakeFromInsert'와'-awakeFromFetch'에서 관찰자를해야합니다. –
설명서에 따라 "메소드를 무시하는 방법"initWithEntity : insertIntoManagedObjectContext : amd dealloc을 덮어 쓸 수 있습니까? 내가 깨어있는 대신 초기화를 사용하는 이유는 깨어있는 것이 항상 호출자가 아니라는 것을 알기 때문입니다 (사용자가 실행 취소했거나 다른 것 같은 경우). 그러나 나는 틀릴지도 모른다. –
당신은 실행 취소 및 다시 실행에 대해 10.6+에서 awakeFromSnapshotEvent라는 추가 메서드가 있습니다.이 메서드는 실행 취소/다시 실행에서도 호출됩니다. 10.5의 해결 방법으로 작업 관찰을 사용하여 실행 취소 및 다시 실행을 허용하도록 ManagedObjectContext를 변경했습니다. http://github.com/mbrugger/CoreDataDependentProperties/blob/master/LPAutomatedObserving/Classes/LPManagedObjectContext.m –