TTMutableArray 1.0.1

TTMutableArray 1.0.1

GG 维护。



  • 作者:
  • GG

TTMutableArray

如果你想监听可变数组的元素变动,可以使用可被观察的 TTMutableArray,也可以使用分类方法,为任意的 NSMutableArray 添加监听

如果你想观察可变数组中元素的更改,您可以使用可观察的 TTMutableArray。或者您可以使用分类方法为任意的 NSMutableArray 添加观察者。

CI Status Version License Platform

安装

TTMutableArray 通过 CocoaPods 提供使用。要安装它,只需将以下行添加到 Podfile:

pod 'TTMutableArray'

使用

TTMutableArray

您可以使用它就像一个 NSMutableArray

TTMutableArray *array = [TTMutableArray arrayWithArray:@[@11, @22]];
[array addObject:@44];
[array removeLastObject];
[array replaceObjectAtIndex:1 withObject:@55];
......

如果您想观察数组,设置 observer 属性

array.observer = observerObject;

observerObject 需要遵守协议 <TTMutableArrayObserver>

#pragma mark - TTMutableArrayObserver
- (void)mutableArray:(NSMutableArray *)array didInsertObjects:(NSArray *)objects atIndexes:(NSIndexSet *)indexes {
    NSLog(@"========> did insert %@, %@ \n result %@", objects, indexes, array);
}
- (void)mutableArray:(NSMutableArray *)array didRemoveObjects:(NSArray *)objects atIndexes:(NSIndexSet *)indexes {
    NSLog(@"========> did remove %@, %@ \n result %@", objects, indexes, array);
}
- (void)mutableArray:(NSMutableArray *)array didReplaceObjects:(NSArray *)objects atIndexes:(NSIndexSet *)indexes {
    NSLog(@"========> did replace %@, %@ \n result %@", objects, indexes, array);
}

NSMutableArray

如果您使用NSMutableArray,且需要KVO数组,应使用分类方法。

NSMutableArray *array = [NSMutableArray arrayWithArray:@[@11, @22]];
NSMutableArray *observerableArray = [array tt_getObserverableArrayWithObserver: observerObject];

注意:您必须使用从分类方法中获得的新对象observerableArray来更改(插入、删除、替换)数组元素。
原始数组无法触发KVO回调。

同样,observerObject也需要符合协议<TTMutableArrayObserver>

许可证

TTMutableArray可以在MIT许可证下使用。有关更多信息,请参阅LICENSE文件。