![](/img/trans.png)
[英]How can i add new object instance in a mutable array using same object reference as the previous one
[英]Using for in how can one refer to next object in array
当“for in”循环正在运行时,是否可以查找下一个“字符串”的值?
假设您有一个名为myArrayOfStrings的数组,其中包含以下值:
0“Apple”1“Pear”2“Orange”3“Grape”
并且您希望使用“for in”循环遍历数组:
for(NSAtring * myArrayOfStrings中的字符串){NSLog(string); }
无论如何,在“for in”循环内部查看下一个字符串运行时的值是什么? 让我们说它目前正在看1“梨”字符串。 无论如何都要查找下一个字符串2“Orange”的值?
虽然在目标c中使用foreach-style循环无法直接实现,但有几种方法可以完成相同的任务。
请假设
NSArray *myArrayOfStrings = @[@"Apple", @"Pear", @"Orange", @"Grape"];
for (int i = 0; i < [myArrayOfStrings count]; i++) {
NSString *string = [myArrayOfStrings objectAtIndex:i];
NSString *next_string = @"nothing";
if (i + 1 < [myArrayOfStrings count]) { // Prevent exception on the final loop
next_string = [myArrayOfStrings objectAtIndex:i + 1];
}
NSLog(@"%@ comes before %@", string, next_string);
}
[myArrayOfStrings enumerateObjectsUsingBlock:^(NSString *string, NSUInteger idx, BOOL *stop) {
NSString *next_string = @"nothing";
if (idx + 1 < [myArrayOfStrings count]) { // Prevent exception on the final loop
next_string = [myArrayOfStrings objectAtIndex:idx + 1];
}
NSLog(@"%@ comes before %@", string, next_string);
}];
这两个选项都输出:
Apple comes before Pear
Pear comes before Orange
Orange comes before Grape
Grape comes before nothing
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.