RLMThreadConfined

Objective-C

@protocol RLMThreadConfined <NSObject>

Swift

protocol RLMThreadConfined : NSObjectProtocol

RLMThreadConfined 을(를) 준수하는 유형의 객체는 Realm에서 관리할 수 있으며, 이를 통해 스레드별 RLMRealm 인스턴스에 바인딩됩니다. managed 객체를 스레드 간에 전달하려면 명시적으로 내보내고 가져와야 합니다.

이 프로토콜을 준수하는 객체의 managed 인스턴스는 +[RLMThreadSafeReference referenceWithThreadConfined:] 생성자에 전달하여 스레드 간 전송을 위한 참고로 변환할 수 있습니다.

Realm에서 정의한 유형만 이 프로토콜을 유의미하게 준수할 수 있으며, 이를 준수하려고 시도하는 새 클래스를 정의해도 RLMThreadSafeReference 에서 작동하지 않습니다.

  • 객체를 managed하는 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 }