大家好!
我遇到了一个大问题。我正在尝试在主线程中访问 Realm 数据,但也因为我需要对数据进行大量同步操作,例如更新、插入等,所以我决定搜索是否有可能异步执行所有这些操作,但是对于我尝试实现的每种方法,我都会遇到不同的错误。
我正在按如下方式创建 Realm 数据库:
realm = try Realm(configuration: Realm.Configuration(
fileURL: fileURL,
encryptionKey: nil,
schemaVersion: schemaVersion,
objectTypes: objectTypes))
访问数据如下:
guard let realm = realm else {
return nil
}
let results = realm.objects(SPUserModel.self)
return Array(results)
在主线程中执行所有这些更新插入操作会将我的内存增加到 1GB,这很糟糕。使它们异步化可能是一种解决方案,但存在不同的线程,这是一个问题。
如果你能帮我解决这个问题,我会很高兴。
最佳答案
extension Realm {
class func realmInstance() -> Realm? {
let realm = try Realm(configuration: Realm.Configuration(
fileURL: fileURL,
encryptionKey: nil,
schemaVersion: schemaVersion,
objectTypes: objectTypes))
return realm
}
访问:
DispatchQueue(label: "background").async {
Realm.realmInstance()?.objects(SPUserModel.self)
}
关于ios - 在不同的线程中访问 Realm 和过滤器结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58498909/