タイプの定義
次の型定義はグローバルで使用できます。
-
Realm に変更が加えられたことを示す通知。
宣言
Objective-C
typedef NSString *RLMNotification
Swift
struct RLMNotification : _ObjectiveCBridgeable, Hashable, Equatable, _SwiftNewtypeWrapper, RawRepresentable, @unchecked Sendable
-
RLMObject
通知のコールバック ブロック。オブジェクトが管理 Realm から削除されると、
deleted
をYES
に設定し、他の 2 つの引数をnil
にしてブロックが呼び出されます。 この後、ブロックは再度呼び出されません。オブジェクトが変更された場合、ブロックは、
deleted
をNO
に設定し、nil
エラーとRLMPropertyChange
オブジェクトの配列で呼び出され、オブジェクトのどのプロパティが変更されたかを示します。error
は常にnil
であり、将来のバージョンで削除される予定です。宣言
Objective-C
typedef void (^RLMObjectChangeBlock)(BOOL, NSArray<RLMPropertyChange *> *_Nullable, NSError *_Nullable)
Swift
typealias RLMObjectChangeBlock = (Bool, [RLMPropertyChange]?, (any Error)?) -> Void
-
RMLogger で設定できるログ コールバック関数。
ログ関数は複数のスレッドから同時に呼び出される可能性があり、必要な場合は独自の同期を実行します。
宣言
Objective-C
typedef void (^RLMLogFunction)(RLMLogLevel, NSString *_Nonnull)
Swift
typealias RLMLogFunction = @Sendable (LogLevel, String) -> Void
-
Realm 内のオブジェクトの古いバージョンと新しいバージョンの両方を提供するブロック タイプ。 オブジェクト プロパティには、キー付きサブスクリプションを使用してのみアクセスできます。
詳細は、次を参照してください:
宣言
パラメーター
oldObject
元の Realm のオブジェクト(読み取り専用)。
newObject
移行された Realm の オブジェクト(読み取りおよび書込み)。
-
非同期トランザクションの ID。
宣言
Objective-C
typedef unsigned int RLMAsyncTransactionId
Swift
typealias RLMAsyncTransactionId = UInt32
-
Realm 内のデータが変更されるたびに実行するブロックのタイプ。
詳細は、次を参照してください:
-[RLMRealm addNotificationBlock:]
宣言
Objective-C
typedef void (^RLMNotificationBlock)(RLMNotification _Nonnull, RLMRealm *_Nonnull)
Swift
typealias RLMNotificationBlock = (RLMNotification, RLMRealm) -> Void
-
Realm の移行に使用される移行ブロックのタイプ。
宣言
Objective-C
typedef void (^RLMMigrationBlock)(RLMMigration *_Nonnull, uint64_t)
Swift
typealias RLMMigrationBlock = @Sendable (RLMMigration, UInt64) -> Void
パラメーター
migration
移行を実行するために使用される
RLMMigration
オブジェクト。 移行オブジェクトを使用すると、移行を必要とする既存のオブジェクトを列挙して変更できます。oldSchemaVersion
移行される Realm のスキーマ バージョン。
-
プロセスの有効期間中に初めて Realm を開き、ユーザーに返される前に圧縮する必要があるかどうかを判断するために呼び出されるブロック。 合計ファイルサイズ(データ + 空き領域)とファイル内のデータによって使用される合計バイト数が渡されます。
ファイルを圧縮する試行を行う必要があることを示すには、
YES
を返します。 圧縮は、別のプロセスがアクセスしている場合はスキップされます。宣言
Objective-C
typedef BOOL (^RLMShouldCompactOnLaunchBlock)(NSUInteger, NSUInteger)
Swift
typealias RLMShouldCompactOnLaunchBlock = @Sendable (UInt, UInt) -> Bool
-
非同期に
Results
を返す API に使用されるブロックタイプ。宣言
Objective-C
typedef void (^RLMResultsCompletionBlock)(RLMResults *_Nullable, NSError *_Nullable)
Swift
typealias RLMResultsCompletionBlock = (RLMResults<AnyObject>?, (any Error)?) -> Void