핵심 데이터를 사용하고 있는데 다음과 같이 청취하고 있습니다. NSManagedObjectContextDidSaveNotification
: ■ JSON의 데이터 컬렉션이 있습니다. 저장하고 싶은 개체가 모두 저장되었으므로 몇 가지를 얻고 싶습니다. 공고. 현재이 알림은 모든 개체가 저장된 후에 전송되는 것 같습니다. 원하는 알림을 받기위한 솔루션으로 빌드 된 것이 있습니까? 그렇지 않다면 어떻게 할 수 있습니까?iOS NSManagedObjectContext - 모든 변경 사항을 저장하면 알림을 보내거나받을 수 있습니까?
0
A
답변
1
특정 개체 배치를 저장 한 후에 게시되는 기본 제공 알림이 없습니다. 핵심 데이터 (Core Data)는 컬렉션에 얼마나 많은 객체가 있는지 전혀 알지 못하기 때문에 사용자가 끝까지 도달했는지 알 수있는 방법이 없습니다.
관리 대상 개체 컨텍스트에서 save:
을 호출 할 때마다 NSManagedObjectContextDidSaveNotification
이 표시됩니다. 모든 오브젝트를 다 처리 할 때까지 저장을 기다릴 수 있습니다. 이는 단지 하나만 의미합니다. NSManagedObjectContextDidSaveNotification
.
더 좋은 해결책은 컬렉션 완료를 알 때 자신의 알림을 게시하는 것입니다. JSONUpdatesCompleteNotification과 같은 문자열 상수를 정의하고 마지막으로 save:
호출 후 해당 이름의 알림을 게시하십시오. 나중에 그런
NSString *JSONUpdatesCompleteNotification = @"JSONUpdatesCompleteNotification";
, 당신은 당신이 완료 알고,
[[NSNotificationCenter defaultCenter] postNotificationName:JSONUpdatesCompleteNotification object:self];
당신이 그것에 대해 알 필요가 어느 곳이 알림을 관찰 있는지 확인하면됩니다.
MOC를 저장할 때 확실히 제어 할 수 있습니까? – Wain
예, 있습니다. 그러나 모든 물건이 언제 저장되는지 나는 모른다. 비동기 적으로 저장 작업을 수행하며 저장 프로세스가 어느 정도 시간이 걸립니다. – Anders
여러 번 저장하는 경우 저장 및 저장 완료 횟수를 계산하고 직접 관리해야합니다. – Wain