RLMThreadSafeReference

Objective-C


@interface RLMThreadSafeReference<__covariant Confined : id <RLMThreadConfined>>
    : NSObject

Swift

@_nonSendable(_assumed) class RLMThreadSafeReference<Confined> : NSObject, @unchecked Sendable where Confined : RLMThreadConfined

스레드에 한정된 객체에 대한 스레드 세이프 참고를 포함하는 스레드 간에 전달되기 위한 객체입니다.

다른 스레드에서 대상 Realm의 스레드 세이프 참고를 확인하려면 -[RLMRealm resolveThreadSafeReference:] 으로 전달합니다.

경고

RLMThreadSafeReference 객체는 최대 한 번만 해석되어야 합니다. RLMThreadSafeReference 확인에 실패하면 참고 할당이 해제될 때까지 Realm의 소스 버전이 고정됩니다.

참고

소스 Realm의 버전에 대한 데이터는 모든 참고가 확인되거나 할당 해제될 때까지 유지되므로 수명이 짧은 RLMThreadSafeReference을(를) 선호합니다.

~를 참조하세요.

RLMThreadConfined

  • 스레드에 제한된 객체에 대한 스레드 안전 참고를 만듭니다.

    참고

    스레드에 제한된 객체를 이 생성자에 전달한 후에도 계속 사용하고 액세스할 수 있습니다.

    선언

    Objective-C

    + (nonnull instancetype)referenceWithThreadConfined:
        (nonnull Confined)threadConfined;

    Swift

    convenience init(threadConfined: Confined)

    매개변수

    threadConfined

    스레드로부터 안전한 참고를 생성할 스레드에 한정된 객체입니다.

  • 참고를 확인하려는 시도가 이미 발생했기 때문에 참고를 더 이상 확인할 수 없는지 여부를 나타냅니다. 참고는 한 번만 확인할 수 있습니다.

    선언

    Objective-C

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

    Swift

    var isInvalidated: Bool { get }

사용할 수 없는 메서드

  • 사용할 수 없음

    RLMThreadSafeReference는 직접 만들 수 없습니다.

    -[RLMThreadSafeReference init] RLMThreadSafeReference 을(를) 직접 만들 수 없기 때문에 사용할 수 없습니다. RLMThreadSafeReference 인스턴스는 -[RLMRealm resolveThreadSafeReference:] 를 호출하여 가져와야 합니다.

    선언

    Objective-C

    - (nonnull instancetype)init;
  • 사용할 수 없음

    RLMThreadSafeReference는 직접 만들 수 없습니다.

    -[RLMThreadSafeReference new] RLMThreadSafeReference 을(를) 직접 만들 수 없기 때문에 사용할 수 없습니다. RLMThreadSafeReference 인스턴스는 -[RLMRealm resolveThreadSafeReference:] 를 호출하여 가져와야 합니다.

    선언

    Objective-C

    + (nonnull instancetype)new;