RLMCollectionChange

@interface RLMCollectionChange : NSObject

RLMCollectionChange is passed to the notification blocks registered with -addNotificationBlock on RLMArray and RLMResults, and reports what rows in the collection changed since the last time the notification block was called.

The change information is available in two formats: a simple array of row indices in the collection for each type of change, and an array of index paths in a requested section suitable for passing directly to UITableView’s batch update methods. A complete example of updating a UITableView named tv:

[tv beginUpdates];
[tv deleteRowsAtIndexPaths:[changes deletionsInSection:0] withRowAnimation:UITableViewRowAnimationAutomatic];
[tv insertRowsAtIndexPaths:[changes insertionsInSection:0] withRowAnimation:UITableViewRowAnimationAutomatic];
[tv reloadRowsAtIndexPaths:[changes modificationsInSection:0] withRowAnimation:UITableViewRowAnimationAutomatic];
[tv endUpdates];

All of the arrays in an RLMCollectionChange are always sorted in ascending order.

  • The indices of objects in the previous version of the collection which have been removed from this one.

    Declaration

    Objective‑C

    @property (readonly, nonatomic) NSArray<NSNumber *> *_Nonnull deletions;
  • The indices in the new version of the collection which were newly inserted.

    Declaration

    Objective‑C

    @property (readonly, nonatomic) NSArray<NSNumber *> *_Nonnull insertions;
  • The indices in the new version of the collection which were modified. For RLMResults, this means that one or more of the properties of the object at that index were modified (or an object linked to by that object was modified). For RLMArray, the array itself being modified to contain a different object at that index will also be reported as a modification.

    Declaration

    Objective‑C

    @property (readonly, nonatomic) NSArray<NSNumber *> *_Nonnull modifications;
  • Undocumented

    Declaration

    Objective‑C

    @interface RLMCollectionChange : NSObject
  • Undocumented

    Declaration

    Objective‑C

    @interface RLMCollectionChange : NSObject
  • Undocumented

    Declaration

    Objective‑C

    @interface RLMCollectionChange : NSObject