【发布时间】:2021-03-01 20:35:07
【问题描述】:
我的所有 CoreData UnitTests 都有以下代码设置(其中 context 是我的 viewContext 和 Item 是 CoreData 模型):
override func setUpWithError() throws {
let deleteReq = NSBatchDeleteRequest(fetchRequest: Item.fetchRequest())
try context.execute(deleteReq)
}
现在,我在声明 deleteReq 时收到此错误:
必须在初始化期间提供获取请求 (NSInvalidArgumentException)
我这样设置我的控制器:
let testController = PersistenceController(inMemory: true)
// #### - ####
init(inMemory: Bool = false) {
container = NSPersistentCloudKitContainer(name: "AppName")
if inMemory {
container.persistentStoreDescriptions.first!.url = URL(fileURLWithPath: "/dev/null")
}
container.viewContext.automaticallyMergesChangesFromParent = true
container.viewContext.mergePolicy = NSMergeByPropertyObjectTrumpMergePolicy
container.loadPersistentStores(completionHandler: { (storeDescription, error) in
// [...]
return
})
}
我是不是做错了什么?
【问题讨论】:
标签: ios core-data nsmanagedobjectcontext nsfetchrequest nspersistentcloudkitcontainer