获取对象时出现CoreStore Xcode数据错误问题



我是CoreStore的新手,正在尝试测试我正确创建、存储和获取CoreStore对象的能力。条目似乎是根据dataStack.fetchCount((和transaction.create((的结果创建的,但根据我的dataStack.fetchAll((结果,数据不可用或未正确存储(它在每个对象的末尾显示data:fault(,使用Liya软件检查SQLite数据库时,表中没有条目。我使用的是CoreStorev8.0.1和Xcode v12.4。下面是我的示例代码(使用同步执行(。我感谢您为解决该问题所做的贡献。谢谢

MyImage.swift:

import CoreStore
final class MyImage: CoreStoreObject {
@Field.Stored("desc")
var desc: String = ""
}

MyApp.swift

import SwiftUI
import CoreStore
import Foundation
@main
struct MyApp: App {

static let dataStack: DataStack = {
let dataStack = DataStack(
CoreStoreSchema(
modelVersion: "V1",
entities: [
Entity<MyImage>("MyImage")
],
versionLock: [
"MyImage": [..., ..., ..., ...]
]
)
)

try! dataStack.addStorageAndWait(
SQLiteStore( fileName: "MyStore.sqlite",
//localStorageOptions: .allowSynchronousLightweightMigration,
localStorageOptions: .recreateStoreOnModelMismatch
)
)
print(dataStack.coreStoreDumpString)
return dataStack
}()

init() {
CoreStoreDefaults.dataStack = MyApp.dataStack
try! dataStack.perform(
synchronous: { (transaction) in
let test_obj = transaction.create(Into<MyImage>())
test_obj.desc = "Description"
},
waitForAllObservers: true
)

do {
let objects = try dataStack.fetchAll(From<MyImage>())
print(objects)
} catch { print("error fetching")}
}
var body: some Scene {
WindowGroup {
ContentView()
}
}
}

我感谢你的帮助。

在访问对象的属性之前,提取结果将显示data:fault。以下示例代码将显示属性的值:

let objects = try dataStack.fetchAll(From<MyImage>())
print(objects.map { $0.desc })

最新更新