List
List<T>
is the container type in Realm used to define to-many relationships.
Lists hold a single Object
subclass (T
) which defines the type
of the list.
Lists can be filtered and sorted with the same predicates as Results<T>
.
When added as a property on Object
models, the property must be declared as let
and cannot be dynamic
.
-
Returns the object at the given
index
on get. Replaces the object at the givenindex
on set.Declaration
Swift
public subscript(index: Int) -> T
-
The Realm the objects in this list belong to, or
nil
if the list’s owning object does not belong to a realm (the list is standalone).Declaration
Swift
public var realm: Realm?
-
Indicates if the list can no longer be accessed.
Declaration
Swift
public var invalidated: Bool { return _rlmArray.invalidated }
-
Creates a
List
that holds objects of typeT
.Declaration
Swift
public override init()
-
Returns the index of the given object, or
nil
if the object is not in the list.Declaration
Swift
public func indexOf(object: T) -> Int?
-
Returns the index of the first object matching the given predicate, or
nil
no objects match.Declaration
Swift
public func indexOf(predicate: NSPredicate) -> Int?
-
Returns the index of the first object matching the given predicate, or
nil
if no objects match.Declaration
Swift
public func indexOf(predicateFormat: String, _ args: AnyObject...) -> Int?
-
Returns the first object in the list, or
nil
if empty.Declaration
Swift
public var first: T? { return _rlmArray.firstObject() as! T? }
-
Returns the last object in the list, or
nil
if empty.Declaration
Swift
public var last: T? { return _rlmArray.lastObject() as! T? }
-
Returns an Array containing the results of invoking
valueForKey:
using key on each of the collection’s objects.Declaration
Swift
public override func valueForKey(key: String) -> AnyObject?
-
Invokes
setValue:forKey:
on each of the collection’s objects using the specified value and key.Declaration
Swift
public override func setValue(value: AnyObject?, forKey key: String)
-
Returns
Results
containing list elements that match the given predicate.Declaration
Swift
public func filter(predicateFormat: String, _ args: AnyObject...) -> Results<T>
-
Returns
Results
containing list elements that match the given predicate.Declaration
Swift
public func filter(predicate: NSPredicate) -> Results<T>
-
Returns
Results
containing list elements sorted by the given property.Declaration
Swift
public func sorted(property: String, ascending: Bool = true) -> Results<T>
-
Returns
Results
with elements sorted by the given sort descriptors.Declaration
Swift
public func sorted<S: SequenceType where S.Generator.Element == SortDescriptor>(sortDescriptors: S) -> Results<T>
-
Appends the given object to the end of the list. If the object is from a different Realm it is copied to the List’s Realm.
Declaration
Swift
public func append(object: T)
-
Appends the objects in the given sequence to the end of the list.
Declaration
Swift
public func appendContentsOf<S: SequenceType where S.Generator.Element == T>(objects: S)
-
Inserts the given object at the given index.
Declaration
Swift
public func insert(object: T, atIndex index: Int)
-
Removes the object at the given index from the list. Does not remove the object from the Realm.
Declaration
Swift
public func removeAtIndex(index: Int)
-
Removes the last object in the list. Does not remove the object from the Realm.
Declaration
Swift
public func removeLast()
-
Removes all objects from the List. Does not remove the objects from the Realm.
Declaration
Swift
public func removeAll()
-
Replaces an object at the given index with a new object.
Declaration
Swift
public func replace(index: Int, object: T)
-
Moves the object at the given source index to the given destination index.
Declaration
Swift
public func move(from from: Int, to: Int)
-
Exchanges the objects in the list at given indexes.
Declaration
Swift
public func swap(index1: Int, _ index2: Int)