RLMCollection
@protocol RLMCollection <NSFastEnumeration>
A homogenous collection of RLMObject
s 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
RLMSortDescriptor
s 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.