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

    Parameters

    index

    The index.

    Return Value

    The object at the given index.

  • 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?

    Parameters

    object

    The object whose index is being queried.

    Return Value

    The index of the given object, or nil if the object is not in the list.

  • Returns the index of the first object matching the given predicate, or nil no objects match.

    Declaration

    Swift

    public func indexOf(predicate: NSPredicate) -> Int?

    Parameters

    predicate

    The NSPredicate used to filter the objects.

    Return Value

    The index of the given object, or nil if no objects match.

  • 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: CVarArgType...) -> Int?

    Parameters

    predicateFormat

    The predicate format string, optionally followed by a variable number of arguments.

    Return Value

    The index of the given object, or nil if no objects match.

  • 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?

    Parameters

    key

    The name of the property.

    Return Value

    Array containing the results of invoking valueForKey: using key on each of the collection’s objects.

  • 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)

    Parameters

    value

    The object value.

    key

    The name of the property.

  • Returns Results containing list elements that match the given predicate.

    Declaration

    Swift

    public func filter(predicateFormat: String, _ args: CVarArgType...) -> Results<T>

    Parameters

    predicateFormat

    The predicate format string which can accept variable arguments.

    Return Value

    Results containing list elements that match the given predicate.

  • Returns Results containing list elements that match the given predicate.

    Declaration

    Swift

    public func filter(predicate: NSPredicate) -> Results<T>

    Parameters

    predicate

    The predicate to filter the objects.

    Return Value

    Results containing list elements that match the given predicate.

  • Returns Results containing list elements sorted by the given property.

    Declaration

    Swift

    public func sorted(property: String, ascending: Bool = true) -> Results<T>

    Parameters

    property

    The property name to sort by.

    ascending

    The direction to sort by.

    Return Value

    Results containing list elements sorted by the given property.

  • 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>

    Parameters

    sortDescriptors

    SortDescriptors to sort by.

    Return Value

    Results with elements sorted by the given sort descriptors.

  • 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)

    Parameters

    object

    An object.

  • Appends the objects in the given sequence to the end of the list.

    Declaration

    Swift

    public func extend<S: SequenceType where S.Generator.Element == T>(objects: S)

    Parameters

    objects

    A sequence of objects.

  • Inserts the given object at the given index.

    Declaration

    Swift

    public func insert(object: T, atIndex index: Int)

    Parameters

    object

    An object.

    index

    The index at which to insert the object.

  • 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)

    Parameters

    index

    The index at which to remove the object.

  • 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)

    Parameters

    index

    The list index of the object to be replaced.

    object

    An object to replace at the specified index.