RLMThreadConfined

Objective-C

@protocol RLMThreadConfined <NSObject>

Swift

protocol RLMThreadConfined : NSObjectProtocol

符合RLMThreadConfined的类型的对象可以由 Realm 管理,这将使它们绑定到线程特定的RLMRealm实例。 托管对象必须显式导出和导入才能在线程之间传递。

符合此协议的对象的托管实例可以传递给+[RLMThreadSafeReference referenceWithThreadConfined:]构造函数,转换为线程安全的引用,以便在线程之间传输。

请注意,只有 Realm 定义的类型才能有意义地符合此协议,并且定义尝试符合此协议的新类不会使它们与RLMThreadSafeReference一起使用。

  • 托管对象的 Realm,如果对象为非托管对象,则为nil

    非托管对象不仅限于线程,也不能传递给需要RLMThreadConfined对象的方法。

    声明

    Objective-C

    @property (nonatomic, readonly, nullable) RLMRealm *realm;

    Swift

    var realm: RLMRealm? { get }
  • 指示对象是否因现已无效而无法再访问。

    声明

    Objective-C

    @property (nonatomic, readonly, getter=isInvalidated) BOOL invalidated;

    Swift

    var isInvalidated: Bool { get }