查找NSArray中特定长度的所有字符串

时间:2013-07-22 19:01:11

标签: objective-c cocoa search nsarray

我有一个NSArray填充了200,000个单词,每个单词可以包含1-10个字符。 我想基于第一个创建第二个数组,只包含正好有5个字符的单词。

我该怎么做?

3 个答案:

答案 0 :(得分:2)

使用predicatefilter the array并生成一个新数组,其中只包含长度为5的单词。例如:

NSPredicate *p = [NSPredicate predicateWithFormat:@"length == 5"];
NSArray *fiveCharWords = [myWordList filteredArrayUsingPredicate:p];

我第一次看起来似乎总是略微错误predicate format,所以如果那里出现错误,请不要感到惊讶。关键是你应该阅读NSPredicate并了解如何使用谓词来过滤集合和集合之类的集合。

答案 1 :(得分:1)

使用谓词过滤数组,其中谓词将length5进行比较。或者循环并将适当的值复制到另一个数组。

答案 2 :(得分:0)

使用你的数据模型我会使用For循环并解析数据,当我在Array1中找到一个长度大于>的对象时5我会将它提交给Array2。我也将从关于ObjectiveC的谷歌搜索NSArray和For循环开始。

使用不同的数据模型我会将所有Array1数据放入SQLLite数据库,以便您的应用程序运行得更快。