| 测试已测试 | ✗ |
| 语言语言 | Obj-CObjective C |
| 许可证 | MIT |
| 发布上次发布 | 2016年12月 |
| 依赖 | |
| Realm | >= 0.99.1 |
| RealmUtilities | >= 0.2.1 |
该类允许您为给定的 RLMObject 子类创建一个线程安全的表示。例如,这可以使用在后台线程上执行查询,并将结果作为 RBQSafeRealmObject 传递给主线程进行显示。
注意:它只能与具有主键的 RLMObject 一起使用。
Object-C 和 Swift 版本都可用。从版本 0.4 开始支持 Swift 2.0。
Objective-C
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{
RLMObjectSubclass *anObject = [RLMObjectSubclass objectForPrimaryKey:@"key"];
RBQSafeRealmObject *safeObject = [RBQSafeRealmObject safeObjectFromObject:anObject];
dispatch_async(dispatch_get_main_queue(), ^{
RLMObjectSubclass *mainThreadObject = [safeObject RLMObject];
// Do Something...
});
});Swift 3
DispatchQueue.global().async {
let anObject = Object()
let safeObject = SafeObject(object: anObject)
DispatchQueue.main.async {
let mainThreadObject = safeObject.object()
}
}RBQSafeRealmObject 可通过 CocoaPods 获得。要安装它,只需将以下行添加到 Podfile:
Objective-C
pod "RBQSafeRealmObject"Swift
pod "SafeRealmObject"使用 CocoaPods 1.1.0.rc.2(带有 Xcode 8 修复)进行检查时需要将 FORK_XCODE_WRITING 设置为 true 以工作。来自 Realm 核心的问题会有一个警告。
FORK_XCODE_WRITING=true pod lib lint SafeRealmObject.podspec --allow-warnings