ObjectId
@objc(RealmSwiftObjectId)
public final class ObjectId : RLMObjectId, Decodable
extension ObjectId: BSON
extension ObjectId: Encodable
extension ObjectId: Comparable
extension ObjectId: RealmCollectionValue
一个(可能)12 字节的唯一ObjectId。
ObjectId 类似于 GUID 或 UUID,可用于唯一标识对象,而无需集中式 ID 生成器。 ObjectID 由以下部分组成:
- 一个 4 字节时间戳,用于测量自 Unix 纪元以来 ObjectId 的创建时间(以秒为单位)。
- 5 字节随机值
- 一个 3 字节计数器,初始化为随机值。
ObjectId 旨在快速生成。 按 ObjectId 字段排序通常会导致对象按创建顺序排序。
-
创建一个新的零初始化 ObjectId。
声明
Swift
public override required init()
-
创建一个新的随机初始化 ObjectId。
声明
Swift
public override class func generate() -> ObjectId
-
从给定的 24 字节十六进制字符串创建新的 ObjectId。
如果字符串不是 24 个字符或包含 0-9a-fA-F 以外的任何字符,则抛出此错误。
声明
Swift
public override required init(string: String) throws
参数
string
要解析的字符串。
-
使用给定日期、计算机标识符和进程标识符创建新的 ObjectId。
声明
Swift
public required init(timestamp: Date, machineId: Int, processId: Int)
参数
timestamp
作为 NSDate 的时间戳。
machineId
机器标识符。
processId
进程标识符。
-
从给定的 24 字节十六进制静态字符串创建新的 ObjectId。
如果字符串不是 24 个字符或包含 0-9a-fA-F 以外的任何字符,则中止。 使用接受字符串的初始化程序在运行时处理无效字符串。
声明
Swift
public required init(_ str: StaticString)
-
通过从给定解码器进行解码来创建新的 ObjectId。
如果从解码器读取失败,或者读取的数据已损坏或无效,则此初始化程序会引发错误。
声明
Swift
public required init(from decoder: Decoder) throws
参数
decoder
从中读取数据的解码器。
-
将此 ObjectId 编码到给定的编码器中。
如果给定编码器无法对字符串进行编码,则该函数会引发错误。
声明
Swift
public func encode(to encoder: Encoder) throws
参数
encoder
要写入数据的编码器。
-
返回一个布尔值,指示第一个参数的值是否小于第二个参数的值。
声明
Swift
public static func < (lhs: ObjectId, rhs: ObjectId) -> Bool
参数
lhs
要比较的 ObjectId 值。
rhs
另一个要比较的 ObjectId 值。
-
返回一个布尔值,指示第一个参数的 ObjectId 是否小于或等于第二个参数的 ObjectId。
声明
Swift
public static func <= (lhs: ObjectId, rhs: ObjectId) -> Bool
参数
lhs
要比较的 ObjectId 值。
rhs
另一个要比较的 ObjectId 值。
-
返回一个布尔值,指示第一个参数的 ObjectId 是否大于或等于第二个参数的 ObjectId。
声明
Swift
public static func >= (lhs: ObjectId, rhs: ObjectId) -> Bool
参数
lhs
要比较的 ObjectId 值。
rhs
另一个要比较的 ObjectId 值。
-
返回一个布尔值,指示第一个参数的 ObjectId 是否大于第二个参数的 ObjectId。
声明
Swift
public static func > (lhs: ObjectId, rhs: ObjectId) -> Bool
参数
lhs
要比较的 ObjectId 值。
rhs
另一个要比较的 ObjectId 值。