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
을(를) 선호합니다.
~를 참조하세요.
~를 참조하세요.
-
스레드에 제한된 객체에 대한 스레드 안전 참고를 만듭니다.
참고
스레드에 제한된 객체를 이 생성자에 전달한 후에도 계속 사용하고 액세스할 수 있습니다.
선언
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;