Foundation NSMutableArray遍历,选取出符合条件的所有对象
一、查找数组中一个元素,找到后立即返回
当遍历数组只需要返回其中一个符合条件的元素时,使用 indexOfObjectPassingTest:^BOOL(id obj, NSUInteger idx, BOOL *stop)块进行判断,
当找到符合条件的元素时,将stop指针置为YES,同事返回YES,终止对数组元素的查找,否则返回NO。最后判断result的值是否等于NSNotFound,然后返回找到的元素
-(AddressCard *) lookUp: (NSString *) name
{
NSUInteger result = [book indexOfObjectPassingTest:^BOOL(id obj, NSUInteger idx, BOOL *stop) {
if ([[obj name] caseInsensitiveCompare: name] == NSOrderedSame ) {
*stop = YES;
return YES;
}else{
return NO;
}
}];
if (result != NSNotFound) {
return book[result];
}else{
return nil;
}
}
二、查找数组中所有符合条件的元素,并将这些元素放到可变数组中,最后返回
当遍历数组只需要返回所有符合条件的元素时,使用数组的 indexesOfObjectsPassingTest:^BOOL(id obj, NSUInteger idx, BOOL *stop)块进行判断,将符合条件的元素放到数组中,最后判断数组大小进行返回。
-(NSMutableArray *) lookUpAll:(NSString *)name
{ NSMutableArray *matchs = [NSMutableArray array];
NSIndexSet *all = [book indexesOfObjectsPassingTest:^BOOL(id obj, NSUInteger idx, BOOL *stop) {
if ([[obj name] rangeOfString: name].location == NSNotFound) {
[matchs addObject: obj];
return YES;
}else{
return NO;
}
}]; if ([matchs count]) {
return matchs;
}else{
return nil;
}
}
Foundation NSMutableArray遍历,选取出符合条件的所有对象的更多相关文章
- 【转载】C#中List集合使用Exists方法判断是否存在符合条件的元素对象
在C#的List集合操作中,有时候需要根据条件判断List集合中是否存在符合条件的元素对象,此时就可以使用List集合的扩展方法Exists方法来实现,Exists方法的签名为bool Exists( ...
- 15. 3Sum_左右开工,遍历找出符合目标的数字
题目: Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find al ...
- Array 数组filter()方法,遍历数组返回符合条件的一个新数组
<script> const arr = [ { id: 1, name: "aa", isDone: false }, { id: 2, name: "bb ...
- 【转载】C#中List集合使用LastOrDefault方法查找出最后一个符合条件的元素
在C#的List集合中,FirstOrDefault方法一般用来查找List集合中第一个符合条件的对象,如果未查到则返回相应默认值.其实如果要查找最后一个符合条件的List集合元素对象,可以使用Las ...
- 【转载】 C#中通过Where方法查找出所有符合条件的元素集合
在C#的List集合对象中,FirstOrDefault方法可以用于查找List集合中符合条件的第一个元素,如果需要根据条件查找到List集合中的所有符合条件的元素对象集合,则需要使用到List集合的 ...
- 1、找出url汇总页,过滤出满足条件的详情页url;2、去详情页采集信息
1.找出url汇总页,过滤出满足条件的详情页url:2.去详情页采集信息 package main import ( "fmt" "github.com/gocolly/ ...
- mysql随机查询符合条件的几条记录
随机查询,方法可以有很多种.比如,查询出所有记录,然后随机从列表中取n条记录.使用程序便可实现.可是程序实现必须查询出所有符合条件的记录(至少是所有符合条件的记录id),然后再随机取出n个id,查询数 ...
- 【转载】C#的ArrayList使用IndexOf方法查找第一个符合条件的元素位置
在C#的编程开发中,ArrayList集合是一个常用的非泛型类集合,在ArrayList集合中如果需要查找第一个符合条件的元素所在的位置,可以使用ArrayList集合的IndexOf方法,Index ...
- 【转载】 C#中List集合使用First方法查找符合条件的第一个元素
在C#的List集合相关操作中,很多时候需要从List集合中查找出符合条件的第一个元素对象,如果确认在List集合中一定存在符合条件的元素,则可以使用First方法来查找,First方法调用格式为Fi ...
随机推荐
- 项目中引用ThinkPHP框架
ThinkPHP是一个宽度.兼容且简单的国产的轻量级框架,具有优良的性能,并且非常注重易用性. 那么,我们该如何将ThinkPHP引入自己的项目中,使得自己的项目可以使用这款优良的框架呢? 首先介绍下 ...
- web.config中<customErrors>节点
错误提示: “/”应用程序中的服务器错误.------------------------------------------------------------------------------- ...
- 通过layer-list多图层叠加效果实现圆角功能
在android的开发过程中,我们可能会做圆角的效果出来,如下图所示: 四个角都是圆角的效果.如果让UI设计人员直接出图,可能会更简单一些.但是我们使用android中layer-list多图层叠加效 ...
- mybatis.generator.configurationFile
mybatis.generator.configurationFile 有一个更好的配置方法,可以不用在generateConfig.xml里面写死驱动的地址:如果你的mybatis连接也是在pom. ...
- MongoDB存储时间
之前一篇博客C++的时间中提到了MongoDB保存时间类型数据可以使用timestamp类型. 不过在实际编程过程中,发现保存timestamp容易,读取难.MongoDB C++的这方面的例子还没有 ...
- 分析java中clone()方法 (转载+修改)
Java中的clone() 方法 java所有的类都是从java.lang.Object类继承而来的,而Object类提供下面的方法对对象进行复制. protected native Object c ...
- [置顶] Oracle GoldenGate 常见问题:长事务处理
长事务的影响 OGG是基于事务级的实时复制工具,也就是说OGG只复制已提交的事务,在遇到事务的commit或rollback之前,它会将每个事务的操作存储在称为cache的托管虚拟内存池中.内存再大也 ...
- 【菜鸟学习Linux】-第三章- Linux环境搭建-使用VMware9安装Ubuntu 12.04系统
上一步,我们安装了VMware9虚拟机,现在我们就是用它来安装Ubuntu12.04系统,至于Ubuntu是什么,我就不废话了,大家google一下,比我讲的清楚,好了,开始干活! Ubuntu官网下 ...
- (转)探讨:ASP.NET技术的学习顺序问题
探讨:ASP.NET技术的学习顺序问题 摘要:很多人对于ASP.NET的入门和学习顺序比较迷茫,今天让我们一起来跟随作者的思路学习探讨ASP.NET的学习顺序问题,希望有所帮助. 如果你已经有较多的面 ...
- svm评价指标公式
在做svm分类试验时,对于结果的处理,仅用一种指标很难得到正确评估算法的效果.所以,一般要用到precision(精确率),recall(召回率),F-measure.accuracy(准确率)四个指 ...