在 NSMutableDictionary 上保存迭代器
Saving the iterator on NSMutableDictionary
在 C++ 中,可以在映射上声明迭代器。
然后可以提升和保存迭代器,这样以后可以从保存的位置恢复迭代。
如何在 Obj-C 中有效地做同样的事情?
尝试用字典的键创建一个有序数组并迭代它。您可以随时从 for 循环中跳出。 currentIteration
var 确保存储最后一次迭代,您下次可以使用它来恢复。
NSMutableDictionary *dictionary = @{@"key1" : @"value1", @"key2" : @"value2", @"key3" : @"value3"};
NSArray *keys = dictionary.allKeys;
int currentIteration = 0;
for (int i = 0; i < keys.count; i++) {
currentIteration = i;
NSObject *value = dictionary[keys[i]];
NSLog(@"%@", value);
}
在 C++ 中,可以在映射上声明迭代器。 然后可以提升和保存迭代器,这样以后可以从保存的位置恢复迭代。
如何在 Obj-C 中有效地做同样的事情?
尝试用字典的键创建一个有序数组并迭代它。您可以随时从 for 循环中跳出。 currentIteration
var 确保存储最后一次迭代,您下次可以使用它来恢复。
NSMutableDictionary *dictionary = @{@"key1" : @"value1", @"key2" : @"value2", @"key3" : @"value3"};
NSArray *keys = dictionary.allKeys;
int currentIteration = 0;
for (int i = 0; i < keys.count; i++) {
currentIteration = i;
NSObject *value = dictionary[keys[i]];
NSLog(@"%@", value);
}