タイプエイリアス

次の型エイリアスはグローバルで使用できます。

Aliases

  • PropertyType は、Realm モデルでサポートされているすべてのプロパティ タイプを説明する列挙型です。

    詳細については、「オブジェクトモデルとスキーマ」を参照してください。

    プリミティブの型

    • Int
    • Bool
    • Float
    • Double

    オブジェクト タイプ

    関係: 配列(Swift、 List )とObject

    宣言

    Swift

    public typealias PropertyType = RLMPropertyType
  • Realm への変更をサブスクライブするメソッドから返されるオペレーターのトークン。

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

    Realm.observe(_:)

    宣言

    Swift

    public typealias NotificationToken = RLMNotificationToken
  • Realm App の構成を表すオブジェクト

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

    RLMAppConfiguration

    注意

    AppConfiguration オプションは、それを使用するAppが作成されると変更できなくなります。 アプリの構成値はアプリの作成時にキャッシュされるため、その後の変更は効果がありません。

    宣言

    Swift

    public typealias AppConfiguration = RLMAppConfiguration
  • Realm Cloud ユーザー API キーでネットワーク呼び出しを実行するクライアントを表すオブジェクト

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

    RLMAPIKeyAuth

    宣言

    Swift

    public typealias APIKeyAuth = RLMAPIKeyAuth
  • Realm Cloud ユーザー登録およびパスワード機能に対してネットワーク呼び出しを実行するクライアントを表すオブジェクト

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

    RLMEmailPasswordAuth

    宣言

    Swift

    public typealias EmailPasswordAuth = RLMEmailPasswordAuth
  • ユーザーのソーシャル プロファイルを表すオブジェクト。

    宣言

    Swift

    public typealias UserProfile = RLMUserProfile
  • エラーを報告するために使用されるブロックの種類

    宣言

    Swift

    public typealias EmailPasswordAuthOptionalErrorBlock = RLMEmailPasswordAuthOptionalErrorBlock
  • 通知をプッシュするデバイスを登録するために、Realm Cloud でネットワーク呼び出しを実行するクライアントを表すオブジェクト

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

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

    宣言

    Swift

    public typealias PushClient = RLMPushClient
  • ユーザー APIKeyProviderClient 内で使用されるオブジェクト

    宣言

    Swift

    public typealias UserAPIKey = RLMUserAPIKey
  • App

    Appには、Realm アプリケーション バックエンドで通信するための基本セットがあります。 このインターフェースは、ログインと認証へのアクセスを提供します。

    宣言

    Swift

    public typealias App = RLMApp
  • この委任を使用して、認証が成功または失敗したときにコールバックを提供します

    宣言

    Swift

    @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
    public typealias ASLoginDelegate = RLMASLoginDelegate
  • AsymmetricObject は、非対称 Realm オブジェクトを定義するために使用される基本クラスです。

    非対称オブジェクトはcreate(_ type:, value:)関数を使用してのみ作成でき、追加、削除、クエリの実行はできません。 作成されると、非対称オブジェクトは MongoDB database に一方向に同期され、ローカルではアクセスできません。

    Object内で非対称オブジェクトをリンクすることは許可されていないため、エラーがスローされます。

    AsymmetricObjectでサポートされているプロパティ タイプはObjectと同じですが、非対称オブジェクトは埋め込みオブジェクトにのみリンクできるため、 ObjectList<Object>プロパティはサポートされていません( EmbeddedObjectList<EmbeddedObject>)。

    class Person: AsymmetricObject {
        @Persisted(primaryKey: true) var _id: ObjectId
        @Persisted var name: String
        @Persisted var age: Int
    }
    

    宣言

    Swift

    public typealias AsymmetricObject = RealmSwiftAsymmetricObject
  • BSONドキュメントを表す辞書オブジェクト。

    宣言

    Swift

    public typealias Document = Dictionary<String, AnyBSON?>
  • MaxKey は、他の BSON types と比較すると、常に最大値になります

    宣言

    Swift

    public typealias MaxKey = RLMMaxKey
  • MinKey は、他のBSON typesと比較すると、常に最小値になります

    宣言

    Swift

    public typealias MinKey = RLMMinKey
  • Object は、Realm モデル オブジェクトを定義するために使用されるクラスです。

    Realm では、 Objectをサブクラス化し、管理するプロパティを追加することでモデル クラスを定義します。 次に、 Objectクラスを直接使用するのではなく、カスタム サブクラスをインスタンス化して使用します。

    class Dog: Object {
        @Persisted var name: String
        @Persisted var adopted: Bool
        @Persisted var siblings: List<Dog>
    }
    

    サポートされているプロパティの型

    • String
    • Int, Int8, Int16, Int32, Int64
    • Float
    • Double
    • Bool
    • Date
    • Data
    • Decimal128
    • ObjectId
    • UUID
    • AnyRealmValue
    • 生の型が有効なプロパティ型である任意の RawRepresentationable 列挙型。 列挙型はPersistableEnumに準拠しているものとして明示的にマークする必要があります。
    • Object サブクラス(多対 1 の関係をモデル化するため)
    • EmbeddedObject サブクラス、1 対 1 の関係を所有するモデル化

    上記のすべてのタイプは、 AnyRealmValueを除き、 Optionalにすることもできます。 ObjectEmbeddedObjectのサブクラスは任意である必要があります。

    個々の 値に加えて、次の 3 つの異なるコレクション タイプがサポートされています。

    • List<Element>: Arrayに似た順序付き可変コレクション。
    • MutableSet<Element>: Setと同様の順序付けられていない一意のコレクション。
    • Map<String, Element>: Dictionaryと同様の順序付けられていないキーと値のコレクション。

    コレクションの要素タイプは、上記でリストしたサポートされている非コレクション プロパティ タイプのいずれかになります。 コレクション自体は 任意 ではない場合もありますが、 ObjectまたはEmbeddedObjectサブクラスのリストとセットは除き、コレクション内の値は である場合があります。

    最後に、 LinkingObjectsプロパティは、このプロパティにリンクされているオブジェクトを追跡するために使用できます。

    Realm によって保存されるすべてのプロパティは、 @Persistedで明示的にマークされる必要があります。 @Persistedでマークされていないプロパティは、Realm によって完全に無視され、任意のタイプになります。

    クエリ

    objects(_:)インスタンス メソッドを呼び出すと、Realm から特定のタイプのすべてのオブジェクトを検索できます。

    関係

    詳しくは、 Swift ガイドを参照してください。

    宣言

    Swift

    public typealias Object = RealmSwiftObject
  • EmbeddedObject は、埋め込み Realm モデル オブジェクトを定義するために使用される基本クラスです。

    埋め込みオブジェクトは通常のオブジェクトと同様に機能しますが、単一の親オブジェクト(それ自体が埋め込まれる場合)によって所有されます。 通常の最上位オブジェクトとは異なり、埋め込みオブジェクトを で直接作成したり、Realm に追加したりすることはできません。 代わりに、親オブジェクトの一部として、または管理されていないオブジェクトを親オブジェクトの プロパティに割り当てた場合にのみ作成できます。 埋め込みオブジェクトは、親オブジェクトが削除されるか、親が埋め込みオブジェクトを指すように変更されると、 オブジェクト プロパティを再割り当てするか、それを含むリストから埋め込みオブジェクトを削除して、自動的に削除されます。

    埋め込みオブジェクトには、それらにリンクする親オブジェクトが 1 つだけあるため、既存の管理対象オブジェクトにリンクしようとすると例外がスローされます。

    EmbeddedObjectでサポートされているプロパティ タイプはObjectと同じですが、埋め込みオブジェクトが最上位オブジェクトにリンクできないため、 ObjectList<Object>プロパティはサポートされていません( EmbeddedObjectList<EmbeddedObject>)です。

    埋め込みオブジェクトにはプライマリキーまたはインデックス付きプロパティを含めることはできません。

    class Owner: Object {
        @Persisted var name: String
        @Persisted var dogs: List<Dog>
    }
    class Dog: EmbeddedObject {
        @Persisted var name: String
        @Persisted var adopted: Bool
        @Persisted(originProperty: "dogs") var owner: LinkingObjects<Owner>
    }
    

    宣言

    Swift

    public typealias EmbeddedObject = RealmSwiftEmbeddedObject
  • 緯度と経度によって作成される点の座標を表す構造体。

    • 緯度の範囲は -90 度から 90 度までです。
    • 経度の範囲は -180 から 180 度までです。

    GeoPointを作成しようとすると、この範囲外の値は nil を返します。

    注意

    地理空間ポイントを保存するための専用のタイプはありません。代わりに、以下で説明するように、ポイントはGeoJson 型の埋め込みオブジェクトとして保存する必要があります。 地理空間クエリ( geoWithin )は、このようなタイプのオブジェクトでのみ実行でき、それ以外の場合はスローされます。

    Realm での地理的ポイントの永続化は現在、アベイラビリティー型を使用して行われています。つまり、特定の形状を持つ任意のモデル クラスは、地理的場所が含まれているかのようにクエリできます。

    次は必須です。

    • stringポイント の値が の@Persisted var type: String = "Point" プロパティ。
    • 経度と緯度のペアを含むリスト: @Persisted private var coordinates: List<Double>

    埋め込みオブジェクトを使用するアプローチをお勧めします。

    public class Location: EmbeddedObject {
      @Persisted private var coordinates: List<Double>
      @Persisted private var type: String = "Point"
    
      public var latitude: Double { return coordinates[1] }
      public var longitude: Double { return coordinates[0] }
    
      convenience init(_ latitude: Double, _ longitude: Double) {
          self.init()
          // Longitude comes first in the coordinates array of a GeoJson document
          coordinates.append(objectsIn: [longitude, latitude])
        }
      }
    

    警告

    この構造は永続化することができず、( GeoBoxGeoPolygonGeoCircle )などの他の地理空間の形状を構築するためにのみ使用できます。

    宣言

    Swift

    public typealias GeoPoint = RLMGeospatialPoint
  • 地理空間geoWithinクエリで使用できる正方形を表すクラス。

    警告

    このクラスは永続化することができず、地理空間geoWithinクエリ内でのみ使用できます。

    宣言

    Swift

    public typealias GeoBox = RLMGeospatialBox
  • 地理空間geoWithinクエリで使用できる多角形を表すクラス。

    GeoPolygonは、 outerRingと呼ばれる と外側のPolygonに準拠し、 holesと呼ばれる 0 個以上の内部Polygonに準拠した形状を記述します。これは、外側のPolygon内の内部穴の数が無制限を表すものです。 Polygonは少なくとも 3 つのセグメントに準拠した形状を記述します。閉じた多角形を示すには、最後の GeoPoint と最初のが同じである必要があります(つまり、多角形を定義するには少なくとも 4 つのポイントが必要)。 GeoPolygon内の穴は完全に外側の円内になければなりません

    holeには次の制限があります。

    • 穴はまたがることはできません。つまり、層の境界は他の層の層と層の両方と交差することはできません。
    • 穴はエッジを共有しない場合があります。つまり、穴にエッジ AB が含まれている場合、他の層にはそれが含まれていない場合があります。
    • 穴は垂直方向を共有する場合がありますが、単一の穴にドライバーが 2 回表示されることはありません。
    • 空の穴はありません。
    • ネストは 1 つのみです。

    警告

    このクラスは永続化することができず、地理空間geoWithinクエリ内でのみ使用できます。

    警告

    高度はクエリ計算のいずれにも使用されません。

    宣言

    Swift

    public typealias GeoPolygon = RLMGeospatialPolygon
  • この構造は、距離を表現/変換するためのヘルパーです。 で表されるような地理空間クエリで使用できます GeoCircle

    警告

    この構造は永続化することができず、他の地理空間の形状を構築するためにのみ使用できます

    宣言

    Swift

    public typealias Distance = RLMDistance
  • 円を表すクラス。地理空間geoWithinクエリで使用できます。

    警告

    このクラスは永続化することができず、地理空間geoWithinクエリ内でのみ使用できます。

    宣言

    Swift

    public typealias GeoCircle = RLMGeospatialCircle
  • Realm の移行に使用される移行ブロックのタイプ。

    宣言

    Swift

    public typealias MigrationBlock = @Sendable (_ migration: Migration, _ oldSchemaVersion: UInt64) -> Void

    パラメーター

    migration

    移行を実行するために使用されるMigrationオブジェクト。 移行オブジェクトを使用すると、移行を必要とする既存のオブジェクトを列挙して変更できます。

    oldSchemaVersion

    移行される Realm のスキーマ バージョン。

  • 移行中に使用されるオブジェクトクラス。

    宣言

    Swift

    public typealias MigrationObject = DynamicObject
  • Realm 内のオブジェクトの古いバージョンと新しいバージョンの両方を提供するブロック タイプ。 オブジェクト プロパティには、サブスクリプションを使用してのみアクセスできます。

    宣言

    Swift

    public typealias MigrationObjectEnumerateBlock = (_ oldObject: MigrationObject?, _ newObject: MigrationObject?) -> Void

    パラメーター

    oldObject

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

    newObject

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

  • Migration インスタンスは、スキーマ移行を容易にするために情報をカプセル化します。

    Realm のバージョンを更新するときに、 Migrationインスタンスはユーザー定義のMigrationBlockブロックに渡されます。 このインスタンスは、古いデータベース スキーマと新しいデータベース スキーマ、Realm 内のオブジェクトへのアクセスを提供し、移行中に Realm を変更する機能を提供します。

    宣言

    Swift

    public typealias Migration = RLMMigration
  • MongoClientでは、Realm Cloud サービスを介して MongoDB database の読み取りと書込みが可能になります。

    これにより、 MongoDatabaseのインスタンスへのアクセスが提供されます。これにより、データを保持する特定のMongoCollectionへのアクセスが提供されます。

    注意

    データの読み取りまたは書き込みを行う前に、ユーザーはログインする必要があります。

    次も参照してください

    App, MongoDatabase, MongoCollection

    宣言

    Swift

    public typealias MongoClient = RLMMongoClient
  • MongoDatabaseは、データを含むコレクションのグループを保持する MongoDB database を表します。

    MongoClientから取得できます。

    これを使用して、データの読み取りと書き込み用のMongoCollectionを取得します。

    注意

    データの読み取りや書き込みを行う前に、ユーザーは にログインする必要があります。

    次も参照してください

    MongoClient, MongoCollection

    宣言

    Swift

    public typealias MongoDatabase = RLMMongoDatabase
  • MongoCollectionfindコマンドを実行するときに使用するオプション。

    宣言

    Swift

    public typealias FindOptions = RLMFindOptions
  • MongoCollectionfindOneAndUpdatefindOneAndReplace 、またはfindOneAndDeleteコマンドを実行するときに使用するオプション。

    宣言

    Swift

    public typealias FindOneAndModifyOptions = RLMFindOneAndModifyOptions
  • updateOneまたはupdateMany操作の結果MongoCollection

    宣言

    Swift

    public typealias UpdateResult = RLMUpdateResult
  • 正常に挿入が行われた場合は Result.success(DocumentId) を返すブロック、または Result.failure(error) は

    宣言

    Swift

    public typealias MongoInsertBlock = @Sendable (Result<AnyBSON, Error>) -> Void
  • 成功した insertMany または Result.failure(error) で Result.success([ObjectId]) が返されるブロック

    宣言

    Swift

    public typealias MongoInsertManyBlock = @Sendable (Result<[AnyBSON], Error>) -> Void
  • 検索操作が成功した場合は Result.success([Document]) を返すブロック、または Result.failure(error) は

    宣言

    Swift

    public typealias MongoFindBlock = @Sendable (Result<[Document], Error>) -> Void
  • 成功した findOne 操作または Result.failure(error) 操作で Result.success(Document?) が返されるブロック

    宣言

    Swift

    public typealias MongoFindOneBlock = @Sendable (Result<Document?, Error>) -> Void
  • カウント操作が成功した場合は Result.success(Int) を返すブロック、または Result.failure(error) を返す

    宣言

    Swift

    public typealias MongoCountBlock = @Sendable (Result<Int, Error>) -> Void
  • 成功した更新操作で Result.success(UpdateResult) を返すブロック、または Result.failure(error) を返す

    宣言

    Swift

    public typealias MongoUpdateBlock = @Sendable (Result<UpdateResult, Error>) -> Void
  • MongoCollectionは MongoDB コレクションを表します。

    インスタンスはMongoDatabaseから取得できます。

    作成、読み取り、更新、削除のメソッドが利用できます。

    Realm Cloud サーバーに対する操作は非同期で実行されます。

    注意

    データの読み取りまたは書き込みを行う前に、ユーザーはログインする必要があります。

    次も参照してください

    MongoClient, MongoDatabase

    宣言

    Swift

    public typealias MongoCollection = RLMMongoCollection
  • ミドルウェアとして機能し、 WatchStream でイベントを処理します

    宣言

    Swift

    public typealias ChangeStream = RLMChangeStream
  • 非同期トランザクションの ID。

    宣言

    Swift

    public typealias AsyncTransactionId = RLMAsyncTransactionId

notifications

  • Realm 内のデータが変更されたときに通知目的で実行するブロックのタイプ。

    宣言

    Swift

    public typealias NotificationBlock = (_ notification: Realm.Notification, _ realm: Realm) -> Void
  • Logger は、独自のカスタムログロジックを作成するために使用されます。

    Loggerのインスタンスを作成する独自のロガーを定義し、ログ メッセージがあるたびに呼び出されるログ関数を定義できます。

    let logger = Logger(level: .all) { level, message in
       print("Realm Log - \(level): \(message)")
    }
    

    Logger.sharedを使用して、このカスタム ロガーをデフォルトのロガーとして設定します。

       Logger.shared = inMemoryLogger
    

    注意

    デフォルトでは、ログしきい値は.infoで、ログ文字列は Apple System Logger に出力されます。

    宣言

    Swift

    public typealias Logger = RLMLogger
  • Atlas App Services ユーザーを表すオブジェクト。

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

    RLMUser

    宣言

    Swift

    public typealias User = RLMUser
  • Atlas App Services の同期関連機能を設定および管理するマネージャー。

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

    RLMSyncManager

    宣言

    Swift

    public typealias SyncManager = RLMSyncManager
  • 同期クライアントでタイムアウトと間隔を設定するオプション。

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

    RLMSyncTimeoutOptions

    宣言

    Swift

    public typealias SyncTimeoutOptions = RLMSyncTimeoutOptions
  • 特定の Realm のクライアントとサーバー間の通信を表すセッション オブジェクト。

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

    RLMSyncSession

    宣言

    Swift

    public typealias SyncSession = RLMSyncSession
  • 閉じる の閉じるタイプSyncManagerに設定すると、エラーをアプリケーションに報告できるようになります。

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

    RLMSyncErrorReportingBlock

    宣言

    Swift

    public typealias ErrorReportingBlock = RLMSyncErrorReportingBlock
  • 特定の API がSyncUserオブジェクトをアプリケーションに非同期に返すために使用される クローズド の タイプ 。

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

    RLMUserCompletionBlock

    宣言

    Swift

    public typealias UserCompletionBlock = RLMUserCompletionBlock
  • SDK の同期機能に関連するエラーです。 SyncManagerに登録されているエラー ハンドラーによって報告されるすべてのエラーは、このタイプです。

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

    RLMSyncError

    宣言

    Swift

    public typealias SyncError = RLMSyncError
  • サーバーによって拒否された書込み (write) に関する拡張情報。

    サーバーは、権限、追加のサーバー側検証が失敗した、オブジェクトがFlexible Sync サブスクライブに一致しなかったためなどの理由で、クライアントによる書込みを拒否することがあります。 このような状況が発生すると、拒否された書込みとその理由に関する情報を含む、 nil 以外のSyncError.compensatingWriteInfoフィールドで.writeRejectedエラーが報告されます。

    この情報はデバッグとログ記録のみを目的とした情報です。 reason string はサーバーによって生成され、安定していることが保証されていないため、プログラムによってこれらを使用して操作を実行しようとすると、警告なしで中断されます。

    宣言

    Swift

    public typealias CompensatingWriteInfo = RLMCompensatingWriteInfo
  • Atlas App Services にリクエストを行う際に発生したエラー。 失敗する可能性のあるほとんどのユーザーおよびアプリ関数は、このタイプのエラーを報告します。

    宣言

    Swift

    public typealias AppError = RLMAppError
  • ログのレベルを指定するために使用できる列挙型。

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

    RLMSyncLogLevel

    宣言

    Swift

    public typealias SyncLogLevel = RLMSyncLogLevel
  • Atlas App Services で使用できるさまざまな認証プロバイダを表す値を持つデータ型。

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

    RLMIdentityProvider

    宣言

    Swift

    public typealias Provider = RLMIdentityProvider
  • Realm ファイルが最初に開かれたときに初期サブスクリプションが入力される方法を制御する構成。

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

    RLMInitialSubscriptionsConfiguration

    宣言

    Swift

    public typealias InitialSubscriptionsConfiguration = RLMInitialSubscriptionsConfiguration