![](/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.