RLMCollection

@protocol RLMCollection <NSFastEnumeration>

A homogenous collection of RLMObjects like RLMArray or RLMResults.

  • Number of objects in the collection.

    Declaration

    Objective‑C

    @required
    @property (readonly, assign, nonatomic) NSUInteger count;
  • The class name (i.e. type) of the RLMObjects contained in this RLMCollection.

    Declaration

    Objective‑C

    @required
    @property (readonly, copy, nonatomic) NSString *_Nonnull objectClassName;
  • The Realm in which this collection is persisted. Returns nil for standalone collections.

    Declaration

    Objective‑C

    @required
    @property (readonly, nonatomic) RLMRealm *_Nonnull realm;
  • Returns the object at the index specified.

    Declaration

    Objective‑C

    - (nonnull id)objectAtIndex:(NSUInteger)index;

    Parameters

    index

    The index to look up.

    Return Value

    An RLMObject of the type contained in this RLMCollection.

  • Returns the first object in the collection.

    Returns nil if called on an empty RLMCollection.

    Declaration

    Objective‑C

    - (nullable id)firstObject;

    Return Value

    An RLMObject of the type contained in this RLMCollection.

  • Returns the last object in the collection.

    Returns nil if called on an empty RLMCollection.

    Declaration

    Objective‑C

    - (nullable id)lastObject;

    Return Value

    An RLMObject of the type contained in this RLMCollection.

  • Gets the index of an object.

    Returns NSNotFound if the object is not found in this RLMCollection.

    Declaration

    Objective‑C

    - (NSUInteger)indexOfObject:(nonnull RLMObject *)object;

    Parameters

    object

    An object (of the same type as returned from the objectClassName selector).

  • Gets the index of the first object matching the predicate.

    Declaration

    Objective‑C

    - (NSUInteger)indexOfObjectWhere:(nonnull NSString *)predicateFormat, ...;

    Parameters

    predicateFormat

    The predicate format string which can accept variable arguments.

    Return Value

    Index of object or NSNotFound if the object is not found in this RLMCollection.

  • Gets the index of the first object matching the predicate.

    Declaration

    Objective‑C

    - (NSUInteger)indexOfObjectWithPredicate:(nonnull NSPredicate *)predicate;

    Parameters

    predicate

    The predicate to filter the objects.

    Return Value

    Index of object or NSNotFound if the object is not found in this RLMCollection.

  • Get objects matching the given predicate in the RLMCollection.

    Declaration

    Objective‑C

    - (nonnull RLMResults *)objectsWhere:(nonnull NSString *)predicateFormat, ...;

    Parameters

    predicateFormat

    The predicate format string which can accept variable arguments.

    Return Value

    An RLMResults of objects that match the given predicate

  • Get objects matching the given predicate in the RLMCollection.

    Declaration

    Objective‑C

    - (nonnull RLMResults *)objectsWithPredicate:(nonnull NSPredicate *)predicate;

    Parameters

    predicate

    The predicate to filter the objects.

    Return Value

    An RLMResults of objects that match the given predicate

  • Get a sorted RLMResults from an RLMCollection.

    Declaration

    Objective‑C

    - (nonnull RLMResults *)sortedResultsUsingProperty:(nonnull NSString *)property
                                             ascending:(BOOL)ascending;

    Parameters

    property

    The property name to sort by.

    ascending

    The direction to sort by.

    Return Value

    An RLMResults sorted by the specified property.

  • Get a sorted RLMResults from an RLMCollection.

    Declaration

    Objective‑C

    - (nonnull RLMResults *)sortedResultsUsingDescriptors:
            (nonnull NSArray<RLMSortDescriptor *> *)properties;

    Parameters

    properties

    An array of RLMSortDescriptors to sort by.

    Return Value

    An RLMResults sorted by the specified properties.

  • Returns an NSArray containing the results of invoking valueForKey: using key on each of the collection’s objects.

    Declaration

    Objective‑C

    - (nullable id)valueForKey:(nonnull NSString *)key;

    Parameters

    key

    The name of the property.

    Return Value

    NSArray 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.

    Warning

    This method can only be called during a write transaction.

    Declaration

    Objective‑C

    - (void)setValue:(nullable id)value forKey:(nonnull NSString *)key;

    Parameters

    value

    The object value.

    key

    The name of the property.

  • Register a block to be called each time the collection changes.

    Declaration

    Objective‑C

    - (nonnull RLMNotificationToken *)addNotificationBlock:
            (nonnull void (^)(id<RLMCollection> _Nonnull))block;

    Parameters

    block

    The block to be called each time the collection changes.

    Return Value

    A token which must be held for as long as you want notifications to be delivered.