RLMObjectId

Objective-C

@interface RLMObjectId : NSObject <NSCopying>

Swift

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

Um identificador de objeto exclusivo de 12 bytes (provavelmente).

Os ObjectIds são semelhantes a um GUID ou UUID e podem ser usados para identificar exclusivamente objetos sem um gerador de ID centralizado. Um ObjectId consiste em:

  1. Um carimbo de data/hora de 4 bytes medindo o tempo de criação do ObjectId em segundos desde a Era UNIX.
  2. Um valor aleatório de 5 bytes
  3. Um contador de 3 bytes, inicializado para um valor aleatório.

Os ObjectIds devem ser gerados rapidamente. A classificação por um campo ObjectId normalmente resultará na classificação dos objetos na ordem de criação.

  • Cria um novo ObjectId inicializado aleatoriamente.

    Declaração

    Objective-C

    + (nonnull instancetype)objectId;

    Swift

    class func generate() -> Self
  • Cria um novo ObjectId inicializado com zero.

    Declaração

    Objective-C

    - (nonnull instancetype)init;

    Swift

    init()
  • Cria um novo ObjectId a partir da cadeia hexadecimal de 24 bytes fornecida.

    Retorna nil e define error se a string não tiver 24 caracteres ou contiver caracteres diferente de 0-9a-fA-F.

    Declaração

    Objective-C

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

    Swift

    init(string: String) throws

    Parâmetros

    string

    A string a ser analisada.

  • Cria um novo ObjectId usando a data fornecida, o identificador da máquina e o identificador do processo.

    Declaração

    Objective-C

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

    Swift

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

    Parâmetros

    timestamp

    Um carimbo de data/hora como NSDate.

    machineIdentifier

    O identificador da máquina.

    processIdentifier

    O identificador do processo.

  • Operador de comparação para verificar se o lado direito é maior que o valor atual.

    Declaração

    Objective-C

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

    Swift

    func isGreaterThan(_ objectId: RLMObjectId?) -> Bool
  • Operador de comparação para verificar se o lado direito é maior ou igual ao valor atual.

    Declaração

    Objective-C

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

    Swift

    func isGreaterThanOrEqual(to objectId: RLMObjectId?) -> Bool
  • Operador de comparação para verificar se o lado direito é menor que o valor atual.

    Declaração

    Objective-C

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

    Swift

    func isLessThan(_ objectId: RLMObjectId?) -> Bool
  • Operador de comparação para verificar se o lado direito é menor ou igual ao valor atual.

    Declaração

    Objective-C

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

    Swift

    func isLessThanOrEqual(to objectId: RLMObjectId?) -> Bool
  • Obtenha o ObjectId como uma cadeia hexadecimal 24de caracteres.

    Declaração

    Objective-C

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

    Swift

    var stringValue: String { get }
  • Obtenha o carimbo de data/hora para o RLMObjectId

    Declaração

    Objective-C

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

    Swift

    var timestamp: Date { get }