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 RLMThreadSafeReference
s 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.
Veja
-
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 }
-
Indisponível
O RLMThreadSafeReference não pode ser criado diretamente
-[RLMThreadSafeReference init]
não está disponível porqueRLMThreadSafeReference
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 porqueRLMThreadSafeReference
não pode ser criado diretamente.RLMThreadSafeReference
instâncias devem ser obtidas ligando para-[RLMRealm resolveThreadSafeReference:]
.Declaração
Objective-C
+ (nonnull instancetype)new;