IGListDiffable

Objective-C

@protocol IGListDiffable

Swift

protocol ListDiffable

The IGListDiffable protocol provides methods needed to compare the identity and equality of two objects.

  • Returns a key that uniquely identifies the object.

    Note

    Two objects may share the same identifier, but are not equal. A common pattern is to use the NSObject category for automatic conformance. However this means that objects will be identified on their pointer value so finding updates becomes impossible.

    Warning

    This value should never be mutated.

    Declaration

    Objective-C

    - (nonnull id<NSObject>)diffIdentifier;

    Swift

    func diffIdentifier() -> any NSObjectProtocol

    Return Value

    A key that can be used to uniquely identify the object.

  • Returns whether the receiver and a given object are equal.

    Declaration

    Objective-C

    - (BOOL)isEqualToDiffableObject:(nullable id<IGListDiffable>)object;

    Swift

    func isEqual(toDiffableObject object: (any ListDiffable)?) -> Bool

    Parameters

    object

    The object to be compared to the receiver.

    Return Value

    YES if the receiver and object are equal, otherwise NO.