Configuration
public struct Configuration
A Realm.Configuration
is used to describe the different options used to
create a Realm
instance.
Realm.Configuration
instances are just plain Swift structs, and unlike
Realm
and Object
s can be freely shared between threads. Creating
configuration objects for class subsets (by setting the objectTypes
property) can be expensive, and so you will normally want to cache and reuse
a single configuration object for each distinct configuration that you are
using rather than creating a new one each time you open a Realm
.
-
Returns the default Realm.Configuration used to create Realms when no other configuration is explicitly specified (i.e.
Realm()
).Declaration
Swift
public static var defaultConfiguration: Configuration
-
Initializes a
Realm.Configuration
, suitable for creating newRealm
instances.Declaration
Swift
public init(path: String?, inMemoryIdentifier: String? = nil, encryptionKey: NSData? = nil, readOnly: Bool = false, schemaVersion: UInt64 = 0, migrationBlock: MigrationBlock? = nil, objectTypes: [Object.Type]? = nil)
Parameters
path
The path to the realm file.
inMemoryIdentifier
A string used to identify a particular in-memory Realm.
encryptionKey
64-byte key to use to encrypt the data.
readOnly
Whether the Realm is read-only (must be true for read-only files).
schemaVersion
The current schema version.
migrationBlock
The block which migrates the Realm to the current version.
objectTypes
The subset of
Object
subclasses persisted in the Realm. -
init(fileURL:inMemoryIdentifier:encryptionKey:readOnly:schemaVersion:migrationBlock:deleteRealmIfMigrationNeeded:objectTypes:)
Initializes a
Realm.Configuration
, suitable for creating newRealm
instances.Declaration
Swift
public init(fileURL: NSURL? = NSURL(fileURLWithPath: RLMRealmPathForFile("default.realm"), isDirectory: false), inMemoryIdentifier: String? = nil, encryptionKey: NSData? = nil, readOnly: Bool = false, schemaVersion: UInt64 = 0, migrationBlock: MigrationBlock? = nil, deleteRealmIfMigrationNeeded: Bool = false, objectTypes: [Object.Type]? = nil)
Parameters
fileURL
The local URL to the realm file.
inMemoryIdentifier
A string used to identify a particular in-memory Realm.
encryptionKey
64-byte key to use to encrypt the data.
readOnly
Whether the Realm is read-only (must be true for read-only files).
schemaVersion
The current schema version.
migrationBlock
The block which migrates the Realm to the current version.
deleteRealmIfMigrationNeeded
If
true
, recreate the Realm file with the new schema if a migration is required.objectTypes
The subset of
Object
subclasses persisted in the Realm.
-
The local URL to the realm file. Mutually exclusive with
inMemoryIdentifier
.Declaration
Swift
public var fileURL: NSURL?
-
The path to the realm file. Mutually exclusive with
inMemoryIdentifier
.Declaration
Swift
public var path: String?
-
A string used to identify a particular in-memory Realm. Mutually exclusive with
path
.Declaration
Swift
public var inMemoryIdentifier: String?
-
64-byte key to use to encrypt the data.
Declaration
Swift
public var encryptionKey: NSData? = nil
-
Whether the Realm is read-only (must be true for read-only files).
Declaration
Swift
public var readOnly: Bool = false
-
The current schema version.
Declaration
Swift
public var schemaVersion: UInt64 = 0
-
The block which migrates the Realm to the current version.
Declaration
Swift
public var migrationBlock: MigrationBlock? = nil
-
Recreate the Realm file with the new schema if a migration is required.
Declaration
Swift
public var deleteRealmIfMigrationNeeded: Bool = false
-
The classes persisted in the Realm.
Declaration
Swift
public var objectTypes: [Object.Type]?