类
以下类在全球范围内可用。
-
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 由以下部分组成:
- 一个 4 字节时间戳,用于测量自 Unix 纪元以来 ObjectId 的创建时间(以秒为单位)。
- 5 字节随机值
- 一个 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
子类或以下类型之一:Bool
、Int
、Int8
、Int16
、Int32
、Int64
、Float
、Double
、String
、Data
、Date
、Decimal128
和ObjectId
(及其可选版本)与 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
子类或以下类型之一:Bool
、Int
、Int8
、Int16
、Int32
、Int64
、Float
、Double
、String
、Data
、Date
、Decimal128
和ObjectId
(及其可选版本)与 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 是一个键值存储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
的类型的可选值,例如Int
、Float
、Double
和Bool
。要更改
查看更多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