RLM 객체 ID

Objective-C

@interface RLMObjectId : NSObject <NSCopying>

스위프트

@_nonSendable(_assumed) class RLMObjectId : NSObject, NSCopying, @unchecked Sendable

12바이트(대부분)의 고유 ObjectId입니다.

ObjectId는 GUID 또는 UUID와 유사하며, 중앙 집중식 ID 생성기 없이도 객체를 고유하게 식별하는 데 사용할 수 있습니다. ObjectID는 다음으로 구성됩니다.

  1. 유닉스 시간 이후 ObjectId의 생성 시간을 초 단위로 측정하는 4바이트 타임스탬프입니다.
  2. 5바이트 임의 값
  3. 임의의 값으로 초기화된 3바이트 카운터입니다.

ObjectId는 빠르게 생성하기 위한 것입니다. ObjectId 필드를 기준으로 정렬하면 일반적으로 객체가 생성 순서대로 정렬됩니다.

  • 무작위로 초기화된 새로운 ObjectId를 만듭니다.

    선언

    Objective-C

    + (nonnull instancetype)objectId;

    스위프트

    class func generate() -> Self
  • 0으로 초기화된 새 ObjectId를 만듭니다.

    선언

    Objective-C

    - (nonnull instancetype)init;

    스위프트

    init()
  • 지정된 24바이트 16진수 문자열에서 새 ObjectId를 만듭니다.

    string 이 24 자 길이가 아니거나 0-9a-fA-F 이외의 문자가 포함된 경우 nil 을 반환하고 error 를 설정합니다.

    선언

    Objective-C

    - (nullable instancetype)initWithString:(nonnull NSString *)string
                                      error:(NSError *_Nullable *_Nullable)error;

    스위프트

    init(string: String) throws

    매개변수

    string

    구문 분석할 문자열입니다.

  • 지정된 날짜, 시스템 식별자, 프로세스 식별자를 사용하여 새 ObjectId를 만듭니다.

    선언

    Objective-C

    - (nonnull instancetype)initWithTimestamp:(nonnull NSDate *)timestamp
                            machineIdentifier:(int)machineIdentifier
                            processIdentifier:(int)processIdentifier;

    스위프트

    init(timestamp: Date, machineIdentifier: Int32, processIdentifier: Int32)

    매개변수

    timestamp

    NSDate로서의 타임스탬프.

    machineIdentifier

    시스템 식별자입니다.

    processIdentifier

    프로세스 식별자입니다.

  • 비교 연산자를 사용하여 오른쪽이 현재 값보다 큰지 확인합니다.

    선언

    Objective-C

    - (BOOL)isGreaterThan:(nullable RLMObjectId *)objectId;

    스위프트

    func isGreaterThan(_ objectId: RLMObjectId?) -> Bool
  • 오른쪽이 현재 값보다 크거나 같은지 확인하는 비교 연산자입니다.

    선언

    Objective-C

    - (BOOL)isGreaterThanOrEqualTo:(nullable RLMObjectId *)objectId;

    스위프트

    func isGreaterThanOrEqual(to objectId: RLMObjectId?) -> Bool
  • 비교 연산자를 사용하여 오른쪽이 현재 값보다 작은지 확인합니다.

    선언

    Objective-C

    - (BOOL)isLessThan:(nullable RLMObjectId *)objectId;

    스위프트

    func isLessThan(_ objectId: RLMObjectId?) -> Bool
  • 비교 연산자를 사용하여 오른쪽이 현재 값보다 작거나 같은지 확인합니다.

    선언

    Objective-C

    - (BOOL)isLessThanOrEqualTo:(nullable RLMObjectId *)objectId;

    스위프트

    func isLessThanOrEqual(to objectId: RLMObjectId?) -> Bool
  • ObjectId를 24-character 16진수 string로 가져옵니다.

    선언

    Objective-C

    @property (nonatomic, readonly) NSString *_Nonnull stringValue;

    스위프트

    var stringValue: String { get }
  • RLMObjectId의 타임스탬프 가져오기

    선언

    Objective-C

    @property (nonatomic, readonly) NSDate *_Nonnull timestamp;

    스위프트

    var timestamp: Date { get }