Classes
The following classes are available globally.
-
Listis the container type in Realm used to define to-many relationships.Like Swift’s
Array,Listis a generic type that is parameterized on the type it stores. This can be either anObjectsubclass or one of the following types:Bool,Int,Int8,Int16,Int32,Int64,Float,Double,String,Data, andDate(and their optional versions)Unlike Swift’s native collections,
Lists are reference types, and are only immutable if the Realm that manages them is opened as read-only.Lists can be filtered and sorted with the same predicates as
Results<Element>.Properties of
See moreListtype defined onObjectsubclasses must be declared asletand cannot bedynamic.Declaration
Swift
public final class List<Element> : ListBase where Element : RealmCollectionValue
-
Objectis a class used to define Realm model objects.In Realm you define your model classes by subclassing
Objectand adding properties to be managed. You then instantiate and use your custom subclasses instead of using theObjectclass directly.class Dog: Object { @objc dynamic var name: String = "" @objc dynamic var adopted: Bool = false let siblings = List<Dog>() }Supported property types
String,NSStringIntInt8,Int16,Int32,Int64FloatDoubleBoolDate,NSDateData,NSData@objc enumwhich has been delcared as conforming toRealmEnum.RealmOptional<Value>for optional numeric propertiesObjectsubclasses, to model many-to-one relationshipsList<Element>, to model many-to-many relationships
String,NSString,Date,NSDate,Data,NSDataandObjectsubclass properties can be declared as optional.Int,Int8,Int16,Int32,Int64,Float,Double,Bool, enum, andListproperties cannot. To store an optional number, useRealmOptional<Int>,RealmOptional<Float>,RealmOptional<Double>, orRealmOptional<Bool>instead, which wraps an optional numeric value. Lists cannot be optional at all.All property types except for
ListandRealmOptionalmust be declared as@objc dynamic var.ListandRealmOptionalproperties must be declared as non-dynamicletproperties. Swiftlazyproperties are not allowed.Note that none of the restrictions listed above apply to properties that are configured to be ignored by Realm.
Querying
You can retrieve all objects of a given type from a Realm by calling the
objects(_:)instance method.Relationships
See our Cocoa guide for more details.
See moreDeclaration
Swift
@objc(RealmSwiftObject) open class Object : RLMObjectBase, ThreadConfined, RealmCollectionValue
-
A
RealmOptionalinstance represents an optional value for types that can’t be directly declared as@objcin Swift, such asInt,Float,Double, andBool.To change the underlying value stored by a
See moreRealmOptionalinstance, mutate the instance’svalueproperty.Declaration
Swift
public final class RealmOptional<Value> : RLMOptionalBase where Value : RealmOptionalType
-
A permission which can be applied to a Realm, Class, or specific Object.
Permissions are applied by adding the permission to the RealmPermission singleton object, the ClassPermission object for the desired class, or to a user-defined List
See moreproperty on a specific Object instance. The meaning of each of the properties of Permission depend on what the permission is applied to, and so are left undocumented here. See RealmPrivileges,ClassPrivileges, andObjectPrivilegesfor details about what each of the properties mean when applied to that type.Declaration
Swift
@objc(RealmSwiftPermission) public class Permission : Object -
A Role within the permissions system.
A Role consists of a name for the role and a list of users which are members of the role. Roles are granted privileges on Realms, Classes and Objects, and in turn grant those privileges to all users which are members of the role.
A role named
See moreeveryone
is automatically created in new Realms, and all new users which connect to the Realm are automatically added to it. Any other roles you wish to use are managed as normal Realm objects.Declaration
Swift
@objc(RealmSwiftPermissionRole) public class PermissionRole : Object -
A representation of a sync user within the permissions system.
PermissionUser objects are created automatically for each sync user which connects to a Realm, and can also be created manually if you wish to grant permissions to a user which has not yet connected to this Realm. When creating a PermissionUser manually, you must also manually add it to the
See moreeveryone
Role.Declaration
Swift
@objc(RealmSwiftPermissionUser) public class PermissionUser : Object -
A singleton object which describes Realm-wide permissions.
An object of this type is automatically created in the Realm for you, and more objects cannot be created manually.
See
See moreRealmPrivilegesfor the meaning of permissions applied to a Realm.Declaration
Swift
@objc(RealmSwiftRealmPermission) public class RealmPermission : Object
View on GitHub
Install in Dash
Classes Reference