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 given index 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 type T.

    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)