在讲关于数据筛选过滤之前,我们先讲一下iOS开发中常用的数据存放容器,分别有集合、数组、字典,还有常用的一些数据本地化的一些数据存储操作,例如:cordata、sql、fmdb、序列化、userdefule、钥匙串、plist文档存储等等。
下面主要讲一下可变的数组的筛选过滤和实时动态数组的遍历操作。
1、对一个未知对象的数组进行遍历筛选。
例如,数组中含有的元素有
NSArray *array = @[@"张三",@"李四",@"小二",@"王五",@"王麻子",@"小二",@"老六",@"小七",@"大八"];
我现在需要把“小二”从里面筛选出去。
看到这个需求,估计有人会觉得这个很简单,对数组进行遍历就行了
一般开发看到这个问题首先会想到这个方法:
NSMutableArray *dataArray = [[NSMutableArray alloc]init];
[dataArray addObjectsFromArray:array];
for (NSString *name in dataArray) {
if ([name isEqualToString:@"小二"]) {
[dataArray removeObject:name];
}
}
NSLog(@"处理过后的数组:%@",dataArray);
表面上看,没问题,运行以后发现闪退了。问题出在哪里呢ÿ