RMThreadセーフリファレンス
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
オブジェクトは最大 1 回で解決される必要があります。 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 }
-
なし
RMThreadセーフリファレンスは直接作成できません
-[RLMThreadSafeReference init]
は、RLMThreadSafeReference
を直接作成できないため、利用できません。RLMThreadSafeReference
インスタンスは-[RLMRealm resolveThreadSafeReference:]
を呼び出して取得する必要があります。宣言
Objective-C
- (nonnull instancetype)init;
-
なし
RMThreadセーフリファレンスは直接作成できません
-[RLMThreadSafeReference new]
は、RLMThreadSafeReference
を直接作成できないため、利用できません。RLMThreadSafeReference
インスタンスは-[RLMRealm resolveThreadSafeReference:]
を呼び出して取得する必要があります。宣言
Objective-C
+ (nonnull instancetype)new;