Object
In Realm you define your model classes by subclassing Object
and adding properties to be persisted.
You then instantiate and use your custom subclasses instead of using the RLMObject class directly.
class Dog: Object {
dynamic var name: String = ""
dynamic var adopted: Bool = false
let siblings = List<Dog>
}
Supported property types
String
Int
Float
Double
Bool
NSDate
NSData
Object
subclasses for to-one relationshipsList<T: Object>
for to-many relationships
Querying
You can gets Results
of an Object subclass via tha objects(_:)
free function or
the objects(_:)
instance method on Realm
.
Relationships
See our Cocoa guide for more details.
-
Returns or sets the value of the property with the given name.
Declaration
Swift
public subscript(key: String) -> AnyObject?
-
Initialize a standalone (unpersisted) Object. Call
add(_:)
on aRealm
to add standalone objects to a realm.Declaration
Swift
public required override init()
-
Initialize a standalone (unpersisted)
Object
with values from anArray<AnyObject>
orDictionary<String, AnyObject>
. Calladd(_:)
on aRealm
to add standalone objects to a realm.Declaration
Swift
public init(value: AnyObject)
Parameters
value
The value used to populate the object. This can be any key/value coding compliant object, or a JSON object such as those returned from the methods in
NSJSONSerialization
, or anArray
with one object for each persisted property. An exception will be thrown if any required properties are not present and no default is set.
-
The
Realm
this object belongs to, ornil
if the object does not belong to a realm (the object is standalone).Declaration
Swift
public var realm: Realm?
-
The
ObjectSchema
which lists the persisted properties for this object.Declaration
Swift
public var objectSchema: ObjectSchema
-
Indicates if an object can no longer be accessed.
Declaration
Swift
public override var invalidated: Bool { return super.invalidated }
-
Returns a human-readable description of this object.
Declaration
Swift
public override var description: String { return super.description }
-
Override to designate a property as the primary key for an
Object
subclass. Only properties of type String and Int can be designated as the primary key. Primary key properties enforce uniqueness for each value whenever the property is set which incurs some overhead. Indexes are created automatically for primary key properties.Declaration
Swift
public class func primaryKey() -> String? { return nil }
-
Override to return an array of property names to ignore. These properties will not be persisted and are treated as transient.
Declaration
Swift
public class func ignoredProperties() -> [String] { return [] }
Return Value
Array
of property names to ignore. -
Return an array of property names for properties which should be indexed. Only supported for string and int properties.
Declaration
Swift
public class func indexedProperties() -> [String] { return [] }
-
Get an
Array
of objects of typeclassName
which have this object as the given property value. This can be used to get the inverse relationship value forObject
andList
properties.Declaration
Swift
public func linkingObjects<T: Object>(type: T.Type, forProperty propertyName: String) -> [T]
-
Returns the value for the property identified by the given key.
Declaration
Swift
public override func valueForKey(key: String) -> AnyObject?
-
Sets the property of the receiver specified by the given key to the given value.
Declaration
Swift
public override func setValue(value: AnyObject?, forKey key: String)