RLMObjectId
Objective-C
@interface RLMObjectId : NSObject <NSCopying>
Swift
@_nonSendable(_assumed) class RLMObjectId : NSObject, NSCopying, @unchecked Sendable
A 12-byte (probably) unique object identifier.
ObjectIds are similar to a GUID or a UUID, and can be used to uniquely identify objects without a centralized ID generator. An ObjectID consists of:
- A 4 byte timestamp measuring the creation time of the ObjectId in seconds since the Unix epoch.
- A 5 byte random value
- A 3 byte counter, initialized to a random value.
ObjectIds are intended to be fast to generate. Sorting by an ObjectId field will typically result in the objects being sorted in creation order.
-
Creates a new randomly-initialized ObjectId.
Declaration
Objective-C
+ (nonnull instancetype)objectId;
Swift
class func generate() -> Self
-
Creates a new zero-initialized ObjectId.
Declaration
Objective-C
- (nonnull instancetype)init;
Swift
init()
-
Creates a new ObjectId from the given 24-byte hexadecimal string.
Returns
nil
and setserror
if the string is not 24 characters long or contains any characters other than 0-9a-fA-F.Declaration
Objective-C
- (nullable instancetype)initWithString:(nonnull NSString *)string error:(NSError *_Nullable *_Nullable)error;
Swift
init(string: String) throws
Parameters
string
The string to parse.
-
Creates a new ObjectId using the given date, machine identifier, process identifier.
Declaration
Objective-C
- (nonnull instancetype)initWithTimestamp:(nonnull NSDate *)timestamp machineIdentifier:(int)machineIdentifier processIdentifier:(int)processIdentifier;
Swift
init(timestamp: Date, machineIdentifier: Int32, processIdentifier: Int32)
Parameters
timestamp
A timestamp as NSDate.
machineIdentifier
The machine identifier.
processIdentifier
The process identifier.
-
Comparision operator to check if the right hand side is greater than the current value.
Declaration
Objective-C
- (BOOL)isGreaterThan:(nullable RLMObjectId *)objectId;
Swift
func isGreaterThan(_ objectId: RLMObjectId?) -> Bool
-
Comparision operator to check if the right hand side is greater than or equal to the current value.
Declaration
Objective-C
- (BOOL)isGreaterThanOrEqualTo:(nullable RLMObjectId *)objectId;
Swift
func isGreaterThanOrEqual(to objectId: RLMObjectId?) -> Bool
-
Comparision operator to check if the right hand side is less than the current value.
Declaration
Objective-C
- (BOOL)isLessThan:(nullable RLMObjectId *)objectId;
Swift
func isLessThan(_ objectId: RLMObjectId?) -> Bool
-
Comparision operator to check if the right hand side is less than or equal to the current value.
Declaration
Objective-C
- (BOOL)isLessThanOrEqualTo:(nullable RLMObjectId *)objectId;
Swift
func isLessThanOrEqual(to objectId: RLMObjectId?) -> Bool
-
Get the ObjectId as a 24-character hexadecimal string.
Declaration
Objective-C
@property (nonatomic, readonly) NSString *_Nonnull stringValue;
Swift
var stringValue: String { get }
-
Get the timestamp for the RLMObjectId
Declaration
Objective-C
@property (nonatomic, readonly) NSDate *_Nonnull timestamp;
Swift
var timestamp: Date { get }