タイプエイリアス
次の型エイリアスはグローバルで使用できます。
-
PropertyType
は、Realm モデルでサポートされているすべてのプロパティ タイプを説明する列挙型です。詳細については、「オブジェクトモデルとスキーマ」を参照してください。
プリミティブの型
Int
Bool
Float
Double
オブジェクト タイプ
String
Data
Date
Decimal128
ObjectId
関係: 配列(Swift、
List
)とObject
型Object
Array
宣言
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
には、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
と同じですが、非対称オブジェクトは埋め込みオブジェクトにのみリンクできるため、Object
とList<Object>
プロパティはサポートされていません(EmbeddedObject
とList<EmbeddedObject>
は)。class Person: AsymmetricObject { @Persisted(primaryKey: true) var _id: ObjectId @Persisted var name: String @Persisted var age: Int }
宣言
Swift
public typealias AsymmetricObject = RealmSwiftAsymmetricObject
-
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
にすることもできます。Object
とEmbeddedObject
のサブクラスは任意である必要があります。個々の 値に加えて、次の 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
と同じですが、埋め込みオブジェクトが最上位オブジェクトにリンクできないため、Object
とList<Object>
プロパティはサポートされていません(EmbeddedObject
とList<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]) } }
宣言
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
-
移行中に使用されるオブジェクトクラス。
宣言
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
へのアクセスが提供されます。注意
データの読み取りまたは書き込みを行う前に、ユーザーはログインする必要があります。
次も参照してください
宣言
Swift
public typealias MongoClient = RLMMongoClient
-
MongoDatabase
は、データを含むコレクションのグループを保持する MongoDB database を表します。MongoClient
から取得できます。これを使用して、データの読み取りと書き込み用の
MongoCollection
を取得します。注意
データの読み取りや書き込みを行う前に、ユーザーは にログインする必要があります。
次も参照してください
宣言
Swift
public typealias MongoDatabase = RLMMongoDatabase
-
MongoCollection
でfind
コマンドを実行するときに使用するオプション。宣言
Swift
public typealias FindOptions = RLMFindOptions
-
MongoCollection
でfindOneAndUpdate
、findOneAndReplace
、または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 サーバーに対する操作は非同期で実行されます。
注意
データの読み取りまたは書き込みを行う前に、ユーザーはログインする必要があります。
次も参照してください
宣言
Swift
public typealias MongoCollection = RLMMongoCollection
-
ミドルウェアとして機能し、 WatchStream でイベントを処理します
宣言
Swift
public typealias ChangeStream = RLMChangeStream
-
非同期トランザクションの ID。
宣言
Swift
public typealias AsyncTransactionId = RLMAsyncTransactionId
-
Realm 内のデータが変更されたときに通知目的で実行するブロックのタイプ。
宣言
-
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