以下类在全球范围内可用。

  • 128 位 IEEE 754-2008 十进制浮点数。

    此类型类似于 Swift 的内置 Decimal 类型,但分配位的方式不同,从而导致可表示的范围不同。 (NS)Decimal 存储最多 38 位的有效数字和从 -128 到 127 的指数,而此类型可存储最多 34 位的有效数字和从 -6143 到 6144 的指数。

    查看更多

    声明

    Swift

    @objc(RealmSwiftDecimal128)
    public final class Decimal128 : RLMDecimal128, Decodable
    extension Decimal128: BSON
    extension Decimal128: Encodable
    extension Decimal128: ExpressibleByIntegerLiteral
    extension Decimal128: ExpressibleByFloatLiteral
    extension Decimal128: ExpressibleByStringLiteral
    extension Decimal128: Comparable
    extension Decimal128: RealmCollectionValue
    extension Decimal128: MinMaxType
    extension Decimal128: AddableType
  • 一个(可能)12 字节的唯一ObjectId。

    ObjectId 类似于 GUID 或 UUID,可用于唯一标识对象,而无需集中式 ID 生成器。 ObjectID 由以下部分组成:

    1. 一个 4 字节时间戳,用于测量自 Unix 纪元以来 ObjectId 的创建时间(以秒为单位)。
    2. 5 字节随机值
    3. 一个 3 字节计数器,初始化为随机值。

    ObjectId 旨在快速生成。 按 ObjectId 字段排序通常会导致对象按创建顺序排序。

    查看更多

    声明

    Swift

    @objc(RealmSwiftObjectId)
    public final class ObjectId : RLMObjectId, Decodable
    extension ObjectId: BSON
    extension ObjectId: Encodable
    extension ObjectId: Comparable
    extension ObjectId: RealmCollectionValue
  • List 是 Realm 中用于定义多个 container 关系的类型。

    与 Swift 的Array一样, List是一种泛型类型,会根据其存储的类型进行参数化。 它可以是Object子类或以下类型之一: BoolIntInt8Int16Int32Int64FloatDoubleStringDataDateDecimal128ObjectId (及其可选版本)

    与 Swift 的原生collection不同, List是引用类型,只有当托管它们的 Realm 以只读方式打开时,它们才是不可变的。

    可以使用与Results<Element>相同的谓词对列表进行过滤和排序。

    Object子类上定义的List类型的属性必须声明为let ,并且不能为dynamic

    查看更多

    声明

    Swift

    public final class List<Element> : RLMSwiftCollectionBase where Element : RealmCollectionValue
    extension List: ObservableObject, RealmSubscribable
    extension List: RealmCollection
    extension List: MutableCollection
    extension List: Decodable where Element: Decodable
    extension List: Encodable where Element: Encodable
  • MutableSet 是 Realm 中的 container 类型,用于定义以不同值作为对象的多对多关系。

    与 Swift 的Set一样, MutableSet是一种泛型类型,会根据其存储的类型进行参数化。 它可以是Object子类或以下类型之一: BoolIntInt8Int16Int32Int64FloatDoubleStringDataDateDecimal128ObjectId (及其可选版本)

    与 Swift 的原生collection不同, MutableSet是引用类型,只有当托管它们的 Realm 以只读方式打开时,它们才是不可变的。

    可以使用与Results<Element>相同的谓词对 MutableSet 进行过滤和排序。

    Object子类上定义的MutableSet类型的属性必须声明为let ,并且不能为dynamic

    查看更多

    声明

    Swift

    public final class MutableSet<Element> : RLMSwiftCollectionBase where Element : RealmCollectionValue
    extension MutableSet: ObservableObject, RealmSubscribable
    extension MutableSet: RealmCollection
    extension MutableSet: Decodable where Element: Decodable
    extension MutableSet: Encodable where Element: Encodable
  • Map

    Map 是一个键值存储container,用于存储支持的 Realm 类型。

    Map 是一种泛型类型,可对其存储的类型进行参数化。 它可以是 对象 子类,也可以是以下类型之一:Bool、Int、Int8、Int16、Int32、Int64、Float、Double、String、Data、Date、Decimal128 和 ObjectId(及其可选版本)

    注意

    Object之外,上述类型的可选版本仅在非同步 Realm 中受支持。

    Map 仅支持string作为键。

    与 Swift 的原生collection不同, Map是一种引用类型,只有当托管它们的 Realm 以只读方式打开时,它们才是不可变的。

    可以使用与Results<Value>相同的谓词对 Map 进行过滤和排序。

    Object子类上定义的Map类型的属性必须声明为let ,并且不能为dynamic

    查看更多

    声明

    Swift

    public final class Map<Key, Value> : RLMSwiftCollectionBase where Key : _MapKey, Value : RealmCollectionValue
    extension Map: ObservableObject, RealmSubscribable
    extension Map: Sequence
    extension Map: RealmKeyedCollection
  • RealmOptional实例表示无法在 Swift 中直接声明为@objc的类型的可选值,例如IntFloatDoubleBool

    要更改RealmOptional实例存储的基础值,请更改该实例的value属性。

    查看更多

    声明

    Swift

    @available(*, deprecated, renamed: "RealmProperty", message: "RealmOptional<T> has been deprecated, use RealmProperty<T?> instead.")
    public final class RealmOptional<Value> : RLMSwiftValueStorage where Value : RealmOptionalType
    extension RealmOptional: Equatable where Value: Equatable
    extension RealmOptional: Codable where Value: Codable
  • RealmProperty实例表示支持类型的多态值。

    要更改RealmProperty实例存储的基础值,请更改该实例的value属性。

    注意

    RealmProperty不应在 Realm 对象上声明为@objc dynamic 。 请改用let
    查看更多

    声明

    Swift

    public final class RealmProperty<Value> : RLMSwiftValueStorage where Value : RealmPropertyType
    extension RealmProperty: Equatable where Value: Equatable
    extension RealmProperty: Codable where Value: Codable