SafeRealmObject 1.1

SafeRealmObject 1.1

测试已测试
Lang语言 SwiftSwift
许可 MIT
Released最后发布2016年12月
SwiftSwift版本3.0
SPM支持SPM

Adam FishBen Chatelain维护。



 
依赖
RBQSafeRealmObject>= 0
RealmSwift>= 0.99.1
RealmUtilities>= 0.2.1
 

RBQSafeRealmObject

Thread-Safe Representation Of A Realm Object

此类可以让您创建一个给定RLMObject子类的线程安全表示。例如,这可以使得在后台线程上执行查询,并将结果作为RBQSafeRealmObject传递给主线程以进行显示。

注意:它仅适用于具有主键的RLMObject

提供了Objective-C和Swift版本。Swift 2.0支持从版本0.4开始。

如何使用

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"

CocoaPod Linting

使用CocoaPods 1.1.0.rc.2(带Xcode 8修复)进行linting需要设置FORK_XCODE_WRITING以使构建工作。会出现一条来自Realm核心的警告。

FORK_XCODE_WRITING=true pod lib lint SafeRealmObject.podspec --allow-warnings