类型别名

以下类型别名在全局范围内可用。

Aliases

  • PropertyType 是一个枚举,描述 Realm 模型支持的所有属性类型。

    有关更多信息,请参阅Realm 模型

    基元类型

    • Int
    • Bool
    • Float
    • Double

    Realm 对象类型

    关系:数组(在 Swift 中为List )和Object类型

    声明

    Swift

    public typealias PropertyType = RLMPropertyType
  • 订阅 Realm 变更的方法返回的不透明令牌。

    声明

    Swift

    public typealias NotificationToken = RLMNotificationToken
  • 表示 Realm 应用配置的对象

    RLMAppConfiguration

    声明

    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 EmailPasswordAuthOptionalErrorBlock = RLMEmailPasswordAuthOptionalErrorBlock
  • 表示客户端的对象,该客户端在 Realm Cloud 上执行网络调用以注册设备以推送通知

    请参阅 RLMPushClient

    声明

    Swift

    public typealias PushClient = RLMPushClient
  • 在 UserAPIKeyProviderClient 中使用的对象

    声明

    Swift

    public typealias UserAPIKey = RLMUserAPIKey
  • App

    App具有与 Realm 应用程序后端通信的一组基本方法。 此接口提供对登录和身份验证的访问。

    声明

    Swift

    public typealias App = RLMApp
  • 使用此委托可在身份验证成功或失败后提供回调

    声明

    Swift

    @available(macOS 10.15, watchOS 6.0, iOS 13.0, iOSApplicationExtension 13.0, macOSApplicationExtension 10.15, tvOS 13.0, *)
    public typealias ASLoginDelegate = RLMASLoginDelegate
  • 表示BSON文档的字典对象。

    声明

    Swift

    public typealias Document = Dictionary<String, AnyBSON?>
  • 与其他 BSON types 相比,MaxKey 将始终是最大值

    声明

    Swift

    public typealias MaxKey = RLMMaxKey
  • 与其他 BSON types 相比,MinKey 将始终是最小值

    声明

    Swift

    public typealias MinKey = RLMMinKey
  • Object 是用于定义 Realm 模型对象的类。

    在 Realm 中,您可以通过子类化Object并添加要托管的属性来定义模型类。 然后,实例化并使用自定义子类,而不是直接使用Object类。

    class Dog: Object {
        @objc dynamic var name: String = ""
        @objc dynamic var adopted: Bool = false
        let siblings = List<Dog>()
    }
    

    支持的属性类型

    StringNSStringDateNSDateDataNSDataUUIDNSUUIDDecimal128ObjectId属性可声明为可选。 ObjectEmbeddedObject子类必须声明为可选。 IntInt8Int16Int32Int64FloatDoubleBool 、枚举和List属性不能。 要存储可选数字,请改用RealmOptional<Int>RealmOptional<Float>RealmOptional<Double>RealmOptional<Bool> ,它们会包装一个可选数值。 列表根本不能是可选的。

    ListRealmOptional之外的所有属性类型都必须声明为@objc dynamic varListRealmOptional属性必须声明为非动态let属性。 不允许使用 Swift lazy属性。

    请注意,上面列出的任何限制都不适用于配置为被 Realm 忽略的属性。

    查询

    您可以通过调用objects(_:)实例方法从 Realm 中检索给定类型的所有对象。

    关系

    有关更多详细信息,请参阅我们的Cocoa 指南

    声明

    Swift

    public typealias Object = RealmSwiftObject
  • EmbeddedObject 是用于定义嵌入式 Realm 模型对象的基类。

    嵌入式对象的工作方式与普通对象类似,但由单个父对象(其本身可能是嵌入式对象)拥有。 与普通的顶级对象不同,嵌入式对象不能直接在 Realm 中创建或添加到 Realm 中。 相反,它们只能作为父对象的一部分创建,或者通过将非托管对象分配给父对象的属性来创建。 当父对象被删除或父对象被修改为不再指向嵌入式对象时(通过重新分配对象属性或从包含它的列表中删除嵌入式对象),嵌入式对象会自动删除。

    嵌入式对象只能有一个链接到它们的父对象,尝试链接到现有的托管嵌入式对象会引发异常。

    EmbeddedObject支持的属性类型与Object相同,不同之处在于嵌入式对象无法链接到顶级对象,因此不支持ObjectList<Object>属性( EmbeddedObjectList<EmbeddedObject>)。

    嵌入式对象不能具有主键或索引属性。

    class Owner: Object {
        @objc dynamic var name: String = ""
        let dogs = List<Dog>()
    }
    class Dog: EmbeddedObject {
        @objc dynamic var name: String = ""
        @objc dynamic var adopted: Bool = false
        let owner = LinkingObjects(fromType: Owner.self, property: "dogs")
    }
    

    声明

    Swift

    public typealias EmbeddedObject = RealmSwiftEmbeddedObject
  • 用于迁移 Realm 的迁移区块的类型。

    声明

    Swift

    public typealias MigrationBlock = (_ 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 中的对象(读写)。

  • MongoClient支持通过 Realm Cloud 服务读取和写入 MongoDB 数据库。

    它提供对MongoDatabase实例的访问权限,而这些实例又提供对保存数据的特定MongoCollection的访问权限。

    注意

    用户必须先登录,然后才能读取或写入数据。

    声明

    Swift

    public typealias MongoClient = RLMMongoClient
  • MongoDatabase代表 MongoDB database,其中包含一组包含数据的collection。

    可以从MongoClient中检索。

    使用它获取MongoCollection以读取和写入数据。

    注意

    在读取或写入数据之前,用户必须先登录。

    声明

    Swift

    public typealias MongoDatabase = RLMMongoDatabase
  • MongoCollection上执行find命令时使用的选项。

    声明

    Swift

    public typealias FindOptions = RLMFindOptions
  • MongoCollection上执行findOneAndUpdatefindOneAndReplacefindOneAndDelete命令时使用的选项。

    声明

    Swift

    public typealias FindOneAndModifyOptions = RLMFindOneAndModifyOptions
  • updateOneupdateMany操作的结果为MongoCollection

    声明

    Swift

    public typealias UpdateResult = RLMUpdateResult
  • 在成功插入时返回 Result.success(DocumentId) 或在成功插入时返回 Result.failure(error) 的区块

    声明

    Swift

    public typealias MongoInsertBlock = (Result<AnyBSON, Error>) -> Void
  • 在成功 insertMany 或 Result.failure(error) 时返回 Result.success([ObjectId]) 的区块

    声明

    Swift

    public typealias MongoInsertManyBlock = (Result<[AnyBSON], Error>) -> Void
  • 查找操作成功时返回 Result.success([文档]) 或 Result.failure(error) 的区块

    声明

    Swift

    public typealias MongoFindBlock = (Result<[Document], Error>) -> Void
  • 在 findOne 操作成功时返回 Result.success(文档?) 或 Result.failure(error) 的区块

    声明

    Swift

    public typealias MongoFindOneBlock = (Result<Document?, Error>) -> Void
  • 在计数操作成功时返回 Result.success(Int) 或 Result.failure(error) 的区块

    声明

    Swift

    public typealias MongoCountBlock = (Result<Int, Error>) -> Void
  • 更新操作成功时返回 Result.success(UpdateResult) 或 Result.failure(error) 的区块

    声明

    Swift

    public typealias MongoUpdateBlock = (Result<UpdateResult, Error>) -> Void
  • MongoCollection表示 MongoDB collection。

    您可以从MongoDatabase获取一个实例。

    提供创建、读取、更新和删除方法。

    针对 Realm Cloud 服务器的操作是异步执行的。

    注意

    用户必须先登录,然后才能读取或写入数据。

    另请参阅

    MongoClient, MongoDatabase

    声明

    Swift

    public typealias MongoCollection = RLMMongoCollection
  • 充当中间人并使用 WatchStream 处理事件

    声明

    Swift

    public typealias ChangeStream = RLMChangeStream

通知

  • 修改 Realm 中的数据时出于通知目的而运行的区块的类型。

    声明

    Swift

    public typealias NotificationBlock = (_ notification: Realm.Notification, _ realm: Realm) -> Void
  • 代表MongoDB Realm用户的对象。

    RLMUser

    声明

    Swift

    public typealias User = RLMUser
  • 用于配置和管理MongoDB Realm同步相关功能的单例。

    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
  • 与向身份验证服务器发出的网络请求相关的错误。 在某些类型的登录尝试失败(示例,请求格式不正确或服务器出现问题)时,此类错误可能会在回调区块中返回到SyncUser.logIn()

    RLMSyncAuthError

    声明

    Swift

    public typealias SyncAuthError = RLMSyncAuthError
  • 可用于指定日志记录级别的枚举。

    RLMSyncLogLevel

    声明

    Swift

    public typealias SyncLogLevel = RLMSyncLogLevel
  • 一种数据类型,其值代表可与MongoDB Realm一起使用的不同身份验证提供者。

    RLMIdentityProvider

    声明

    Swift

    public typealias Provider = RLMIdentityProvider