iOS - 从字符串数组一次显示两个单词

时间:2015-06-25 22:51:43

标签: ios arrays nsstring

我正在做一个RSVP阅读项目应用程序,它在屏幕上闪烁字样。您可以将单词块大小(您希望一次显示多少个单词)设置为1,2或3.我通过将我的段落放在一个字符串中并使其完成,从而使其工作为1个单词:

[self.textInput componentsSeparatedByString:@" ";

这使我成为一组单词,我可以用它一次闪烁一个单词。如何一次显示2个单词,我怎么能这样做?有没有办法我可以再次使用这个函数来做不同的事情,或者我应该迭代这个字数组并用2个字符串创建一个新的字符串?

我们将非常感谢任何帮助或建议,以达到最佳实践。感谢。

2 个答案:

答案 0 :(得分:1)

像基思说的那样创建一个数组

NSArray *allwordsArray = [self.textInput componentsSeparatedByString:@" "];

现在您获得了所需的所有信息。意思是你得到了包含每个单词的数组。现在只需将它组合在一起。 (我还没有测试过这段代码)

    NSMutableArray *twoWordArray = [[NSMutableArray alloc] init];
    int counter=0;
    for (int i=0; i<[allwordsArray count]; i++)
    {
       if (counter >= [allwordsArray count]) break;
       NSString *str1 =  [NSString stringwithformat@"%@", [allwordsArray objectAtIndex:counter]];

       counter++;

         if (counter >= [allwordsArray count]) break;
         NSString *str2 =  [NSString stringwithformat@"%@", [allwordsArray objectAtIndex:counter]];
         NSString *combinedStr = [NSString stringwithformat@"%@ %@", str1,str2];
         [twoWordArray addObject: combinedStr];

         counter++;

    }

答案 1 :(得分:0)

您已将字符串分解为组件,这些组件位于正确的轨道上。然后,您可以创建一个只包含组件的较小数组,直到达到块大小。最后一步是重新加入字符串。

NSArray *components = [self.textInput componentsSeparatedByString:@" "];
NSRange chunkRange = NSMakeRange(0, chunkSize);
NSArray *lessComponents = [components subarrayWithRange:chunkRange];
NSString *newString = [lessComponents componentsJoinedByString:@" "];