2016-08-17 1 views
4

ユニットテストでは、https://gist.github.com/aceontech/8860058のようなものを使用して、コアデータモデルのテスト中にインメモリストアを作成しました。 iOS 10の導入により、NSPersistentStoreCoordinatorsはNSPersistentContainers内に隠されています。誰もiOS 10のCore Dataで遊んだことがありますか?同様のものを初期化する方法を考えましたか?どんな助けもありがとう。iOS 10ユニットテストのためのメモリストア内のコアデータ

ありがとうございます!

答えて

14

あなたはです古いアプローチを使用し続けます。これは非推奨ではなく、NSPersistentContainerは必須ではありません。

新しいアプローチを使用する場合は、新しいNSPersistentStoreDescriptionクラスを使用します。このクラスは、永続ストアを追加するときに指定できるすべてのものを処理します。あなたは、私は店がモデル定義をロードするために失敗した `NSInMemoryStoreType`を使用して問題があった。この新しいクラスは、自動軽量移行オプションのようなものが含まれて

let container = NSPersistentContainer(name: "MyModel") 

    let description = NSPersistentStoreDescription() 
    description.type = NSInMemoryStoreType 
    container.persistentStoreDescriptions = [description] 

    container.loadPersistentStores(completionHandler: { ... 
    } 

のようなもの、など

+0

にしてください。上記のコードに加えて、私はそれをデフォルト設定に指摘する必要がありました: 'description.configuration =" Default "' – mstubna

+0

興味深い、非常に奇妙です。ヘッドアップをありがとう。 –

関連する問題