저장하기 전에 업데이트해야하는 핵심 데이터 데이터베이스에 계산 된 값이 있습니다. 기본적으로 나는 그들 사이의 네비게이션을 쉽게하기 위해 몇몇 엔티티의 번호를 매기 고있다.NSPersistentDocument로 최신 관리자 실행 취소 관리자
현재 나는 NSManagedObjectContextWillSaveNotification
을 관찰 중이며이 번호 매기기를 시도하고 있습니다. 내가 한 변경 사항은 저장되지만 실행 취소 관리자는 여전히 수정 된 것으로 보입니다. 이렇게하면 관리 대상 객체 컨텍스트에 (hasChanges
)이 없다고 표시 되어도 문서에 변경 사항 (닫기 버튼에 표시)이있는 것처럼 보입니다. 한 번 실행 취소하면 변경 사항이없는 것처럼 보이지만 관리 객체 컨텍스트는 변경됩니다.
실행 취소 관리자가 어떻게 든 잘못된 위치에서 재설정되었거나 잘못된 것이 있습니까?
업데이트
있는 나는이 번호를 다시 매기를하고있어 다소 난독 화 코드는 다음과 같습니다
- (void)managedObjectContextWillSave:(NSNotification *)notification
{
// Force the content view controller to save any pending changes.
[_contentViewController saveChanges];
NSArray *itemSortDesc = [self sortDescriptorsForSomeItem];
NSArray *items = [SomeItem findAllObjectsInContext:self.managedObjectContext
andSortBy:itemSortDesc];
NSUInteger i = 0;
for (SomeItem *i in items)
{
i.uid = [NSNumber numberWithUnsignedInteger:i++];
}
}
_contentViewController
는 SomeItem
의 여러 인스턴스에 구문 분석하는 텍스트 필드를 포함 .
해당 이벤트를 처리하는 코드를 게시 하시겠습니까? – paulmelnikow