2013-11-01 49 views
1

我試圖從json文件填充我的iOS sqlite數據庫。我已經使用python編寫了一個腳本來執行此操作,它讀取了json文件和coredata Model.xcdatamodeld文件。使用mogenerator,它創建必要的H和M的文件,並寫入信息到如下一個源碼文件(下面是用於生成源碼文件中的代碼的一部分)用來工作從json使用python生成sqlite創建了sqlite-shm和sqlite-wal文件

psc = NSPersistentStoreCoordinator.alloc().initWithManagedObjectModel_(mom) 
psc_option = { 
    NSMigratePersistentStoresAutomaticallyOption : True, 
    NSInferMappingModelAutomaticallyOption : True, 
} 
psc.addPersistentStoreWithType_configuration_URL_options_error_(NSSQLiteStoreType, None, dataURL, psc_option, None) 
moc = NSManagedObjectContext.new() 
moc.setPersistentStoreCoordinator_(psc) 

一切,但之後,我升級到Maverick,輸出文件生成2個額外的文件(.sqlite-shm和.sqlite-wal)。輸出sqlite文件似乎是空的(即使腳本成功解釋了coredata文件和json文件)。我只是想知道是否有人知道這些文件是什麼?以及有關可能導致此問題的任何建議? (我懷疑有些行爲在保存期間必須改變,但我不確定)。

回答

2

蘋果已經改變了默認的日記模式,以作爲Configuring a SQLite Store’s Save Behavior

或許本網站文章可能更澄清Core Data and iOS 7: Different behavior of persistent store

描述由passing the associated SQLite pragma options to NSPersistentStoreCordinator. 看它的完成WAL模式(SQLite Write-Ahead Logging): Problems with Core Data Migration Manager and journal_mode WAL

+0

任何想法如何改回它?我只是想讓代碼運行,我並不在乎性能...... – hook38

+0

我已經添加了更多資源。 – PositiveLogic

+0

作品,謝謝你。 – hook38