TTMutableArray
如果你想监听可变数组的元素变动,可以使用可被观察的 TTMutableArray,也可以使用分类方法,为任意的 NSMutableArray 添加监听
如果你想观察可变数组中元素的更改,您可以使用可观察的 TTMutableArray。或者您可以使用分类方法为任意的 NSMutableArray 添加观察者。
安装
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文件。