RObjectSchema

Objective-C


@interface RLMObjectSchema : NSObject <NSCopying>

Swift

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

このクラスは、Realm モデル オブジェクト スキーマを表します。

Realm を使用する場合、 RLMObjectSchemaインスタンスでは移行を実行し、データベースのスキーマを内部検証できます。

オブジェクト スキーマは、コア データベース内のテーブルにマップされます。

プロパティ

  • スキーマによって記述されるクラスの管理対象プロパティを表す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 }
  • このオブジェクトタイプが埋め込まれているかどうか。

    宣言

    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

  • 2 つのRLMObjectSchemaインスタンスが等しいかどうかを返します。

    宣言

    Objective-C

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

    Swift

    func isEqual(to objectSchema: RLMObjectSchema) -> Bool