我可以创建一个NSMutableArray,遍历源数组并复制过滤器函数接受的对象,然后创建一个不可变的版本。
有没有更好的办法?
解决方法 NSArray和NSMutableArray提供了过滤数组内容的方法。 NSArray提供filteredArrayUsingPredicate:它返回一个包含接收器中匹配指定谓词的对象的新数组。 NSMutableArray添加filterUsingPredicate:它根据指定的谓词计算接收者的内容,并只留下匹配的对象。这些方法在以下示例中说明。NSMutableArray *array = [NSMutableArray arrayWithObjects:@"Bill",@"Ben",@"Chris",@"Melissa",nil];nspredicate *bPredicate = [nspredicate predicateWithFormat:@"SELF beginswith[c] 'b'"];NSArray *beginWithB = [array filteredArrayUsingPredicate:bPredicate];// beginWithB contains { @"Bill",@"Ben" }.nspredicate *sPredicate = [nspredicate predicateWithFormat:@"SELF contains[c] 's'"];[array filterUsingPredicate:sPredicate];// array Now contains { @"Chris",@"Melissa" }总结
以上是内存溢出为你收集整理的将NSArray过滤到objective-c中的新NSArray中全部内容,希望文章能够帮你解决将NSArray过滤到objective-c中的新NSArray中所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)