FCMutableArray 是一个组合类,它的行为类似于NSMutableArray,同时为它添加了一个代理。
每当从数组中添加或删除对象时,代理都会被告知,并询问其是否允许这样做。这使得 FCMutableArray 成为一个非常好的对象队列管理者。
例如,如果您想管理一个 UILabel
队列,这些标签只是代表一个 NSString
,您可以将在 FCMutableArray 中添加 NSString
,并使用代理将它们转换为 UILabel
- (BOOL)shouldAddObject:(id)object toArray:(FCMutableArray *)array {
if ([object isKindOfClass:[NSString class]]) {
UILabel *myLabel = [[UILabel alloc] init];
myLabel.text = object;
return NO;
}
}
正如您在这个存储库中包含的示例中看到的那样,我始终发现 FCMutableArray
至少比常规的 NSMutableArray 慢 20~30 倍。这是它对您程序增加的最低打印足迹,其中实现了所有的代理方法,但并没有做任何事情。对于中小型数组(<500个对象)而言,这种差异并不重要,但 FCMutableArray 绝不应该用于大数据处理。