我有一个NSEnumerator对象,其中包含从NSTextView中检索的文本行,解析为:
NSEnumerator *myLines = [[allTheText componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]] objectEnumerator];我正在处理for循环中的行,如下所示:
for (NSString *current_line in myLines)
{
//doing something
}这很好,但是现在我需要在处理当前对象时观察下一个对象。在不扰乱当前周期的情况下,如何才能做到这一点呢?如果我这样做(在当前周期内),它将无法工作:
//inside the previous cycle
NSString *next_line;
if (next_line = [myLines nextObject])
{
//process next line
}发布于 2011-08-16 13:18:18
您可以使用标准循环:
for(uint i = 0; i < [myLines count]; i++) {
...
}您可以使用迭代索引获得前一行和下一行:
[myLines objectAtIndex:(i-1)]; // previous
[myLines objectAtIndex:(i+1)]; // next一定要先检查它们的存在。
更新
NSArray *lineArray = [allTheText componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]];在for循环中使用上面的数组。
https://stackoverflow.com/questions/7078775
复制相似问题