【问题标题】:iOS - Displaying Two Words At A Time From String ArrayiOS - 从字符串数组一次显示两个单词
【发布时间】:2015-06-25 22:51:42
【问题描述】:

我正在做一个 RSVP 阅读项目应用程序,它会在屏幕上闪烁单词。您可以将单词块大小(一次要显示的单词数)设置为 1、2 或 3。通过将段落放在字符串中并执行以下操作,我得到了 1 个单词:

[self.textInput componentsSeparatedByString:@" ";

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

对于完成此操作的最佳做​​法,我们将不胜感激任何帮助或建议。谢谢。

【问题讨论】:

    标签: ios arrays nsstring


    【解决方案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++;
    
        }
    

    【讨论】:

    • 这个解决方案效果很好!使用额外的计数器停止了我的所有困惑,谢谢! :)
    • 很高兴我能帮上忙 :-)。这绝对是一个有趣的问题
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-13
      • 2018-05-11
      • 1970-01-01
      • 1970-01-01
      • 2020-10-18
      • 1970-01-01
      相关资源
      最近更新 更多