developer tip

핵심 데이터 및 iOS 7 : 영구 저장소의 다른 동작

copycodes 2020. 11. 18. 09:19
반응형

핵심 데이터 및 iOS 7 : 영구 저장소의 다른 동작


iOS 7에서 수정하기 위해 Core Data 기반 앱에 대한 업데이트를 준비하고 있습니다. Xcode 5 및 iOS 7 SDK GM을 사용합니다. 그러나 영구 저장소의 다른 동작 ()을 깨달았습니다. UIManagedDocumentiOS 7 빌드 이전 persistentStore에는 문서 폴더에 파일이 하나만 있었습니다 (때로는 두 번째 파일 이있었습니다 persistentStore-journal).

iOS 7 빌드 (새로 설치)에는 이제 영구 저장소에 대한 세 개의 파일이 있습니다.

  • persistentStore
  • persistentStore-wal
  • persistentStore-shm

Apple은 이제 저널 모드를 기본적으로 WAL로 변경 했습니까? 내 앱에 영향이 있는지 궁금합니다 (사용자가 마지막 버전에서 어떻게 업데이트하는지 생각해보세요)? WAL을 비활성화하는 것이 가장 UIManagedDocument좋을까요? 그렇다면 iOS 7 /에서 어떻게 할 수 있습니까?


예, Apple은 iOS7의 기본 저널 모드를 WAL로 변경했습니다. addPersistentStoreWithType : configuration : url : options : error를 호출 할 때 옵션에 NSSQLitePragmasOption을 추가하여 저널 모드를 지정할 수 있습니다. 예 : DELETE의 이전 기본 모드를 설정하려면 :

NSDictionary *options = @{ NSSQLitePragmasOption : @{@"journal_mode" : @"DELETE"} };

내 경험상 WAL은 더 나은 성능을 제공하지만이 게시물도 참조하십시오.

iOS CoreData-sqlite WAL / Write-Ahead Logging을 활성화하는 데 단점이 있습니까?

참고 URL : https://stackoverflow.com/questions/18870387/core-data-and-ios-7-different-behavior-of-persistent-store

반응형