タイプの定義

次の型定義はグローバルで使用できます。

  • 結果 コレクション内の各要素に対して呼び出されるコールバック。セクション キーを返します。

    宣言

    Objective-C

    typedef id<RLMValue> _Nullable (^RLMSectionedResultsKeyBlock)(id _Nonnull)

    Swift

    typealias RLMSectionedResultsKeyBlock = (Any) -> (any RLMValue)?

通知条件

  • Realm に変更が加えられたことを示す通知。

    宣言

    Objective-C

    typedef NSString *RLMNotification

    Swift

    struct RLMNotification : _ObjectiveCBridgeable, Hashable, Equatable, _SwiftNewtypeWrapper, RawRepresentable, @unchecked Sendable
  • RLMObject通知のコールバック ブロック。

    オブジェクトが管理 Realm から削除されると、 deletedYESに設定し、他の 2 つの引数をnilにしてブロックが呼び出されます。 この後、ブロックは再度呼び出されません。

    オブジェクトが変更された場合、ブロックは、 deletedNOに設定し、 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 内のオブジェクトの古いバージョンと新しいバージョンの両方を提供するブロック タイプ。 オブジェクト プロパティには、キー付きサブスクリプションを使用してのみアクセスできます。

    詳細は、次を参照してください:

    -[RLMMigration enumerateObjects:block:]

    宣言

    Objective-C

    typedef void (^RLMObjectMigrationBlock)(RLMObject *_Nullable,
                                            RLMObject *_Nullable)

    Swift

    typealias RLMObjectMigrationBlock = (RLMObject?, RLMObject?) -> Void

    パラメーター

    oldObject

    元の Realm のオブジェクト(読み取り専用)。

    newObject

    移行された Realm の オブジェクト(読み取りおよび書込み)。

  • Realm を非同期に開くためのコールバック ブロック。

    オープンが成功した場合は Realm を返し、そうでない場合はエラーを返します。

    宣言

    Objective-C

    typedef void (^RLMAsyncOpenRealmCallback)(RLMRealm *_Nullable,
                                              NSError *_Nullable)

    Swift

    typealias RLMAsyncOpenRealmCallback = (RLMRealm?, (any Error)?) -> Void
  • 非同期トランザクションの 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