【发布时间】:2016-12-06 18:08:13
【问题描述】:
我正在尝试在内存领域中使用来存储一些对象。我通常在辅助线程中保存对象并在主线程中请求对象。
我还需要对内存领域有一个强引用,以避免数据丢失。
static private var _strongInMemoryRealm: Realm? = {
return VideoObject._inMemoryRealm
}()
static private var _inMemoryRealm: Realm? {
get {
var realm: Realm? = nil
let config = Realm.Configuration(inMemoryIdentifier: "InMemoryRealm")
do {
realm = try Realm(configuration: config)
} catch let error {
debugPrint("Realm could not be opened: ", error)
Crashlytics.sharedInstance().recordError(error)
}
return realm
}
}
我在辅助线程中调用 _inMemoryRealm 而在主线程中调用 _strongInMemoryRealm,此配置不起作用。
【问题讨论】:
-
为什么不能正常工作?它有什么作用?
-
我将对象保存在后台线程上。在具有相同领域 _inMemoryRealm 的同一线程上,我可以获取对象。回到主线程,领域实例 _strongInMemoryRealm 返回一个空数组