过滤一个数组:谓词?块?

ber*_*fis 3 nsarray nspredicate objective-c-blocks

我正在寻找在第二次治疗之前过滤阵列的解决方案,无需进一步测试即可应用.

假设我想从给定文件夹中删除大于500K的所有文件.我可以:

1)获取一个枚举器,然后为每个项目测试大小并删除大文件; 2)获取一个枚举器,过滤它,然后删除所有剩余的文件.

我想知道如何实现解决方案2.我正在考虑另一种处理(这次没有删除),如图像缩减,可以多次应用.在每个循环中,文件大小减小,枚举器总是变小,直到它为空.此时,治疗结束了.

但是怎么做呢?我见过许多谓词的例子,比如@"SELF包含[c]'e'"(有很小的变化),但从来没有SELF.size> 500000 ......

我想解决方案可能是一个障碍,但我必须承认我完全迷失了......

求助!

Yan*_*yer 6

使用+[NSPredicate predicateWithBlock:]工厂方法怎么样?您将返回YES要保留的项目(例如,小于500000字节/字符/ ...).