RLMThreadSafeReference

Objective-C


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

Swift

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

Um objeto destinado a ser passado entre threads contendo uma referência segura para threads ao seu objeto confinado pela thread.

Para resolver uma referência segura de thread em um Realm de destino em uma thread diferente, passe para -[RLMRealm resolveThreadSafeReference:].

Aviso

Um objeto RLMThreadSafeReference deve ser resolvido no máximo uma vez. A não resolução de um RLMThreadSafeReference fará com que a versão de origem do Realm seja fixada até que a referência seja desalocada.

Observação

Prefira RLMThreadSafeReferences de curta duração, pois os dados da versão do Realm de origem serão retidos até que todas as referências tenham sido resolvidas ou desalocadas.

  • Crie uma referência segura de thread para o objeto confinado ao thread.

    Observação

    Você pode continuar a usar e acessar o objeto confinado do thread depois de passá-lo para esse construtor.

    Declaração

    Objective-C

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

    Swift

    convenience init(threadConfined: Confined)

    Parâmetros

    threadConfined

    O objeto confinado ao thread para criar uma referência segura para o thread.

  • Indica se a referência não pode mais ser resolvida porque já ocorreu uma tentativa de resolvê-la. As referências só podem ser resolvidas uma vez.

    Declaração

    Objective-C

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

    Swift

    var isInvalidated: Bool { get }

Métodos indisponíveis

  • Indisponível

    O RLMThreadSafeReference não pode ser criado diretamente

    -[RLMThreadSafeReference init] não está disponível porque RLMThreadSafeReference não pode ser criado diretamente. RLMThreadSafeReference instâncias devem ser obtidas ligando para -[RLMRealm resolveThreadSafeReference:].

    Declaração

    Objective-C

    - (nonnull instancetype)init;
  • Indisponível

    O RLMThreadSafeReference não pode ser criado diretamente

    -[RLMThreadSafeReference new] não está disponível porque RLMThreadSafeReference não pode ser criado diretamente. RLMThreadSafeReference instâncias devem ser obtidas ligando para -[RLMRealm resolveThreadSafeReference:].

    Declaração

    Objective-C

    + (nonnull instancetype)new;