2

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

我该怎么做?

4

3 回答 3

2

使用谓词过滤数组并生成一个仅包含长度为 5 的单词的新数组。类似于:

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

我似乎总是第一次弄错谓词格式,所以如果那里有错误,请不要感到惊讶。关键是您应该阅读 NSPredicate 并了解如何使用谓词来过滤数组和集合等集合。

于 2013-07-22T19:08:35.630 回答
1

使用谓词比较的谓词过滤length数组5。或者循环并将适当的值复制到另一个数组。

于 2013-07-22T19:08:05.627 回答
0

使用您的数据模型,我将使用 For 循环并解析数据,当我在 Array1 中找到长度 > 5 的对象时,我会将其提交给 Array2。我还将首先搜索有关 ObjectiveC 的 NSArray 和 For Loop。

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

于 2013-07-22T19:08:07.583 回答