RLM 객체 ID
Objective-C
@interface RLMObjectId : NSObject <NSCopying>
Swift
@_nonSendable(_assumed) class RLMObjectId : NSObject, NSCopying, @unchecked Sendable
12바이트(대부분)의 고유 ObjectId입니다.
ObjectId는 GUID 또는 UUID와 유사하며, 중앙 집중식 ID 생성기 없이도 객체를 고유하게 식별하는 데 사용할 수 있습니다. ObjectID는 다음으로 구성됩니다.
- 유닉스 시간 이후 ObjectId의 생성 시간을 초 단위로 측정하는 4바이트 타임스탬프입니다.
- 5바이트 임의 값
- 임의의 값으로 초기화된 3바이트 카운터입니다.
ObjectId는 빠르게 생성하기 위한 것입니다. ObjectId 필드를 기준으로 정렬하면 일반적으로 객체가 생성 순서대로 정렬됩니다.
-
무작위로 초기화된 새로운 ObjectId를 만듭니다.
선언
Objective-C
+ (nonnull instancetype)objectId;
Swift
class func generate() -> Self
-
0으로 초기화된 새 ObjectId를 만듭니다.
선언
Objective-C
- (nonnull instancetype)init;
Swift
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;
Swift
init(string: String) throws
매개변수
string
구문 분석할 문자열입니다.
-
지정된 날짜, 시스템 식별자, 프로세스 식별자를 사용하여 새 ObjectId를 만듭니다.
선언
Objective-C
- (nonnull instancetype)initWithTimestamp:(nonnull NSDate *)timestamp machineIdentifier:(int)machineIdentifier processIdentifier:(int)processIdentifier;
Swift
init(timestamp: Date, machineIdentifier: Int32, processIdentifier: Int32)
매개변수
timestamp
NSDate로서의 타임스탬프.
machineIdentifier
시스템 식별자입니다.
processIdentifier
프로세스 식별자입니다.
-
오른쪽이 현재 값보다 큰지 확인하는 비교 연산자 입니다.
선언
Objective-C
- (BOOL)isGreaterThan:(nullable RLMObjectId *)objectId;
Swift
func isGreaterThan(_ objectId: RLMObjectId?) -> Bool
-
오른쪽이 현재 값보다 크거나 같은지 확인하는 비교 연산자입니다.
선언
Objective-C
- (BOOL)isGreaterThanOrEqualTo:(nullable RLMObjectId *)objectId;
Swift
func isGreaterThanOrEqual(to objectId: RLMObjectId?) -> Bool
-
비교 연산자 를 사용하여 오른쪽이 현재 값보다 작은지 확인합니다.
선언
Objective-C
- (BOOL)isLessThan:(nullable RLMObjectId *)objectId;
Swift
func isLessThan(_ objectId: RLMObjectId?) -> Bool
-
비교 연산자를 사용하여 오른쪽이 현재 값보다 작거나 같은지 확인합니다.
선언
Objective-C
- (BOOL)isLessThanOrEqualTo:(nullable RLMObjectId *)objectId;
Swift
func isLessThanOrEqual(to objectId: RLMObjectId?) -> Bool
-
ObjectId 를 24문자 16진수 string 로 가져옵니다.
선언
Objective-C
@property (nonatomic, readonly) NSString *_Nonnull stringValue;
Swift
var stringValue: String { get }
-
RLMObjectId의 타임스탬프 가져오기
선언
Objective-C
@property (nonatomic, readonly) NSDate *_Nonnull timestamp;
Swift
var timestamp: Date { get }