아니요, NSPersistentStore
개체가있는 경우 옵션을 변경할 수 없습니다. 영구 저장소를 NSPersistentStoreCoordinator
에 추가 할 때만 옵션을 지정할 수 있습니다. 변화하는 옵션에 가장 근접한 것은 핵심 데이터 스택 전체를 해체하고 다른 옵션으로 다시 시작하는 것입니다. 때문에,하지만, 도움이되지 것
: 당신이 아이 클라우드 (나는 그
ubiquityIdentityToken
를 통해 또는
URLForUbiquityContainerIdentifier:
를 호출하거나,
NSFileManager
를 사용하여 추측하고있어) 사용할 수 있음을 감지 한 경우에도
, 전화 addPersistentStoreWithType:configuration:URL:options:error:
까지 계속 차단 될 수 있습니다. iCloud에서 새 데이터를 사용할 수있는 경우 영구 저장소를 추가 할 때까지 다운로드가 시작되지 않으며 다운로드 프로세스가 끝날 때까지 해당 메서드가 반환되지 않습니다. 그리고 때로는 iCloud로 인해 당분간 해당 메소드가 블록되지 않게됩니다.
iCloud가 아닌 옵션을 사용하는 동안 사용자가 데이터를 변경하게하면 해당 변경 사항이 나중에 클라우드로 자동 전송되지 않습니다. 핵심 데이터는 iCloud가 활성 상태 일 때 데이터가 변경 될 때만 변경 사항을 iCloud에 보내며, 이로 인해 트랜잭션이 생성됩니다. 사용자가 변경 한 내용을로드하고 다시 저장해야합니다. 그렇지 않으면 변경 사항이 클라우드에 적용되지 않습니다.
iCloud와 함께 핵심 데이터를 사용할 때 중요한 걸림돌이 될 수 있습니다. Core Data가 iCloud와 통신을 완료 할 때까지 전체 데이터 저장소를 사용할 수 없습니다. 영구 저장소를 추가하라는 호출이 그때까지 반환되지 않기 때문입니다. 그리고 당신은 그 과정을 빠르게하기 위해 아무것도 할 수 없습니다. 코어 데이터와 함께 iCloud를 계속 사용하려고하면 두통에 시달리게됩니다.
데이터의 성격에 따라 은 순전히 로컬이고 iCloud를 통해 동기화되는 두 개의 데이터 저장소를 사용할 수 있습니다. iCloud가 유용 할만큼 잘 작동하도록 노력하면서 순수하게 로컬 데이터 저장소를 사용할 수 있습니다. 하나의 데이터 저장소를 사용하는 경우 지연이 발생합니다.
정보 주셔서 감사합니다! – user2037316
도움이된다면 답을 "수락"하십시오. :) –