协议

以下协议在全球范围内可用。

可识别

  • 为 Realm 对象定义默认身份的协议

    将 Object 子类声明为符合此协议将为Identifiableid提供默认实现,该实现适用于 Realm 对象:

    // Automatically conforms to `Identifiable`
    class MyObjectType: Object, ObjectKeyIdentifiable {
        // ...
    }
    

    如果您愿意,也可以手动遵守Identifiable ,但请注意,使用对象的内存地址不适用于托管对象。

    查看更多

    声明

    Swift

    @available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
    public protocol ObjectKeyIdentifiable : ObjectBase, Identifiable

合并

  • 可传递给valuePublisher()changesetPublisher()的类型。

    声明

    Swift

    @available(macOS 10.15, watchOS 6.0, iOS 13.0, iOSApplicationExtension 13.0, macOSApplicationExtension 10.15, tvOS 13.0, *)
    public protocol RealmSubscribable
  • 可以检索、筛选、排序和操作的Object的同质collection。

    查看更多

    声明

    Swift

    public protocol RealmCollection : RealmCollectionBase
  • 可以检索、筛选、排序和操作的Object的同质键值collection。

    查看更多

    声明

    Swift

    public protocol RealmKeyedCollection : ThreadConfined, CustomStringConvertible, Sequence
  • 用于订阅MongoCollection.watch()流上的变更的委托。

    查看更多

    声明

    Swift

    public protocol ChangeEventDelegate : AnyObject
  • 可以存储在 Realm 对象上的枚举类型。

    只有 Int 支持的@objc枚举才能存储在 Realm 对象上,并且枚举类型必须显式符合此协议。 例如:

    @objc enum MyEnum: Int, RealmEnum {
       case first = 1
       case second = 2
       case third = 7
    }
    
    class MyModel: Object {
       @objc dynamic enumProperty = MyEnum.first
       let optionalEnumProperty = RealmOptional<MyEnum>()
    }
    

    声明

    Swift

    public protocol RealmEnum : RealmOptionalType, _RealmSchemaDiscoverable
  • 一种协议,描述可参数化RealmOptional的类型。

    声明

    Swift

    public protocol RealmOptionalType
  • 可以存储在Realm列表、MutableSet 或结果中的类型。

    将其他类型声明为符合此协议并不会使它们真正起作用。 在 Realm 中存储值的大部分逻辑并未在 Swift 中实现,目前也没有扩展机制来支持更多类型。

    声明

    Swift

    public protocol RealmCollectionValue : _RealmSchemaDiscoverable, Hashable
  • 一种协议,描述可参数化RealmPropertyType的类型。

    声明

    Swift

    public protocol RealmPropertyType

MinMaxType

  • 可与最小值和最大值 API 一起使用的属性类型。

    min(ofProperty:), max(ofProperty:)

    声明

    Swift

    public protocol MinMaxType

AddableType

  • 可与求和值 API 和平均值 API 一起使用的属性类型。

    sum(ofProperty:), average(ofProperty:)

    声明

    Swift

    public protocol AddableType
  • 符合ThreadConfined的类型的对象可以由 Realm 管理,这将使它们绑定到线程特定的Realm实例。 托管对象必须显式导出和导入才能在线程之间传递。

    符合此协议的对象的托管实例可以传递给ThreadSafeReference(to:)构造函数,转换为线程安全的引用,以便在线程之间传输。

    请注意,只有 Realm 定义的类型才能有意义地符合此协议,并且定义尝试符合此协议的新类不会使它们与ThreadSafeReference一起使用。

    查看更多

    声明

    Swift

    public protocol ThreadConfined