类型别名
以下类型别名在全局范围内可用。
-
订阅 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
具有与 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 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>() }
支持的属性类型
String
,NSString
Int
Int8
,Int16
,Int32
,Int64
Float
Double
Bool
Date
,NSDate
Data
,NSData
Decimal128
ObjectId
UUID
@objc enum
已声明为符合RealmEnum
。RealmOptional<Value>
用于可选数字属性Object
子类,用于建模多对一关系EmbeddedObject
子类,用于对拥有一对一关系进行建模List<Element>
,对多对多关系进行建模
String
、NSString
、Date
、NSDate
、Data
、NSData
、UUID
、NSUUID
、Decimal128
和ObjectId
属性可声明为可选。Object
和EmbeddedObject
子类必须声明为可选。Int
、Int8
、Int16
、Int32
、Int64
、Float
、Double
、Bool
、枚举和List
属性不能。 要存储可选数字,请改用RealmOptional<Int>
、RealmOptional<Float>
、RealmOptional<Double>
或RealmOptional<Bool>
,它们会包装一个可选数值。 列表根本不能是可选的。除
List
和RealmOptional
之外的所有属性类型都必须声明为@objc dynamic var
。List
和RealmOptional
属性必须声明为非动态let
属性。 不允许使用 Swiftlazy
属性。请注意,上面列出的任何限制都不适用于配置为被 Realm 忽略的属性。
查询
您可以通过调用
objects(_:)
实例方法从 Realm 中检索给定类型的所有对象。关系
有关更多详细信息,请参阅我们的Cocoa 指南。
声明
Swift
public typealias Object = RealmSwiftObject
-
EmbeddedObject
是用于定义嵌入式 Realm 模型对象的基类。嵌入式对象的工作方式与普通对象类似,但由单个父对象(其本身可能是嵌入式对象)拥有。 与普通的顶级对象不同,嵌入式对象不能直接在 Realm 中创建或添加到 Realm 中。 相反,它们只能作为父对象的一部分创建,或者通过将非托管对象分配给父对象的属性来创建。 当父对象被删除或父对象被修改为不再指向嵌入式对象时(通过重新分配对象属性或从包含它的列表中删除嵌入式对象),嵌入式对象会自动删除。
嵌入式对象只能有一个链接到它们的父对象,尝试链接到现有的托管嵌入式对象会引发异常。
EmbeddedObject
支持的属性类型与Object
相同,不同之处在于嵌入式对象无法链接到顶级对象,因此不支持Object
和List<Object>
属性(EmbeddedObject
和List<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
-
迁移期间使用的对象类。
声明
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
上执行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 = (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 服务器的操作是异步执行的。
注意
用户必须先登录,然后才能读取或写入数据。
另请参阅
声明
Swift
public typealias MongoCollection = RLMMongoCollection
-
充当中间人并使用 WatchStream 处理事件
声明
Swift
public typealias ChangeStream = RLMChangeStream
-
修改 Realm 中的数据时出于通知目的而运行的区块的类型。
声明
-
代表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