ObjectId

@objc(RealmSwiftObjectId)
public final class ObjectId : RLMObjectId, Decodable, @unchecked Sendable
extension ObjectId: BSON
extension ObjectId: Encodable
extension ObjectId: Comparable
extension ObjectId: _RealmCollectionValueInsideOptional

一个(可能)12 字节的唯一ObjectId。

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

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

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

初始化器

  • 创建一个新的零初始化 ObjectId。

    声明

    迅速

    public override required init()
  • 创建一个新的随机初始化 ObjectId。

    声明

    迅速

    public override static func generate() -> ObjectId
  • 从给定的 24 字节十六进制字符串创建新的 ObjectId。

    如果字符串不是 24 个字符或包含 0-9a-fA-F 以外的任何字符,则抛出此错误。

    声明

    迅速

    public override required init(string: String) throws

    参数

    string

    要解析的字符串。

  • 使用给定日期、计算机标识符和进程标识符创建新的 ObjectId。

    声明

    迅速

    public required init(timestamp: Date, machineId: Int, processId: Int)

    参数

    timestamp

    作为 NSDate 的时间戳。

    machineId

    机器标识符。

    processId

    进程标识符。

  • 从给定的 24 字节十六进制静态字符串创建新的 ObjectId。

    如果字符串不是 24 个字符或包含 0-9a-fA-F 以外的任何字符,则中止。 使用接受字符串的初始化程序在运行时处理无效字符串。

    声明

    迅速

    public required init(_ str: StaticString)
  • 通过从给定解码器进行解码来创建新的 ObjectId。

    如果从解码器读取失败,或者读取的数据已损坏或无效,则此初始化程序会引发错误。

    声明

    迅速

    public required init(from decoder: Decoder) throws

    参数

    decoder

    从中读取数据的解码器。

  • 将此 ObjectId 编码到给定的编码器中。

    如果给定编码器无法对字符串进行编码,则该函数会引发错误。

    声明

    迅速

    public func encode(to encoder: Encoder) throws

    参数

    encoder

    要写入数据的编码器。

  • _:)

    返回一个布尔值,指示第一个参数的值是否小于第二个参数的值。

    声明

    迅速

    public static func < (lhs: ObjectId, rhs: ObjectId) -> Bool

    参数

    lhs

    要比较的 ObjectId 值。

    rhs

    另一个要比较的 ObjectId 值。

  • _:)

    返回一个布尔值,指示第一个参数的 ObjectId 是否小于或等于第二个参数的 ObjectId。

    声明

    迅速

    public static func <= (lhs: ObjectId, rhs: ObjectId) -> Bool

    参数

    lhs

    要比较的 ObjectId 值。

    rhs

    另一个要比较的 ObjectId 值。

  • 返回一个布尔值,指示第一个参数的 ObjectId 是否大于或等于第二个参数的 ObjectId。

    声明

    迅速

    public static func >= (lhs: ObjectId, rhs: ObjectId) -> Bool

    参数

    lhs

    要比较的 ObjectId 值。

    rhs

    另一个要比较的 ObjectId 值。

  • 返回一个布尔值,指示第一个参数的 ObjectId 是否大于第二个参数的 ObjectId。

    声明

    迅速

    public static func > (lhs: ObjectId, rhs: ObjectId) -> Bool

    参数

    lhs

    要比较的 ObjectId 值。

    rhs

    另一个要比较的 ObjectId 值。