RLM 객체 스키마

Objective-C


@interface RLMObjectSchema : NSObject <NSCopying>

Swift

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

이 클래스는 Realm 모델 객체 스키마를 나타냅니다.

Realm을 사용할 때 RLMObjectSchema 인스턴스를 사용하면 마이그레이션을 수행하고 데이터베이스의 스키마를 인트로스펙션할 수 있습니다.

객체 스키마는 코어 데이터베이스의 테이블에 매핑됩니다.

속성

  • 스키마로 설명된 클래스의 managed 속성을 나타내는 RLMProperty 인스턴스의 배열입니다.

    ~를 참조하세요.

    RLMProperty

    선언

    Objective-C

    @property (nonatomic, copy, readonly) NSArray<RLMProperty *> *_Nonnull properties;

    Swift

    var properties: [RLMProperty] { get }
  • 스키마가 설명하는 클래스의 이름입니다.

    선언

    Objective-C

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

    Swift

    var className: String { get }
  • 스키마가 설명하는 클래스에 대한 기본 키 역할을 하는 속성입니다(있는 경우).

    선언

    Objective-C

    @property (nonatomic, readonly, nullable) RLMProperty *primaryKeyProperty;

    Swift

    var primaryKeyProperty: RLMProperty? { get }
  • 이 Realm 객체 유형이 포함되어 있는지 여부입니다.

    선언

    Objective-C

    @property (nonatomic, readonly) BOOL isEmbedded;

    Swift

    var isEmbedded: Bool { get }
  • 이 객체가 비대칭인지 여부입니다.

    선언

    Objective-C

    @property (nonatomic, readonly) BOOL isAsymmetric;

    Swift

    var isAsymmetric: Bool { get }

방법

  • 속성 이름으로 RLMProperty 객체를 검색합니다.

    선언

    Objective-C

    - (nullable RLMProperty *)objectForKeyedSubscript:
        (nonnull NSString *)propertyName;

    Swift

    subscript(propertyName: String) -> RLMProperty? { get }

    매개변수

    propertyName

    속성의 이름입니다.

    반환 값

    RLMProperty 객체이거나, 지정된 이름의 속성이 없는 경우 nil 입니다.

  • 두 개의 RLMObjectSchema 인스턴스가 동일한지 여부를 반환합니다.

    선언

    Objective-C

    - (BOOL)isEqualToObjectSchema:(nonnull RLMObjectSchema *)objectSchema;

    Swift

    func isEqual(to objectSchema: RLMObjectSchema) -> Bool