RLMObjectSchema

@interface RLMObjectSchema : NSObject <NSCopying>

This class represents Realm model object schemas.

When using Realm, RLMObjectSchema instances allow performing migrations and introspecting the database’s schema.

Object schemas map to tables in the core database.

  • An array of RLMProperty instances representing the persisted properties of a class described by the schema.

    Declaration

    Objective‑C

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

    Swift

    var properties: [RLMProperty] { get }
  • The name of the class the schema describes.

    Declaration

    Objective‑C

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

    Swift

    var className: String { get }
  • The property which serves as the primary key for the class the schema describes, if any.

    Declaration

    Objective‑C

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

    Swift

    var primaryKeyProperty: RLMProperty? { get }
  • Retrieves an RLMProperty object by the property name.

    Declaration

    Objective‑C

    - (nullable RLMProperty *)objectForKeyedSubscript:
        (nonnull id<NSCopying>)propertyName;

    Swift

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

    Parameters

    propertyName

    The property’s name.

    Return Value

    An RLMProperty object, or nil if there is no property with the given name.

  • Returns a Boolean value that indicates whether two RLMObjectSchema instances are equal.

    Declaration

    Objective‑C

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

    Swift

    func isEqualToObjectSchema(objectSchema: RLMObjectSchema) -> Bool