我有一种方法可以遍历NSDictionaries的NSArray并在满足if语句时更改值。但是,对于800个对象,这可能需要15到20秒。

我希望它能更快,并认为也许我的逻辑可以改进。这就是我在做什么:

// inside my method
for (int i = 0; i < [sortedItemsArray count]; i++) {
        NSDictionary *tempInstForCopy = [sortedItemsArray objectAtIndex:i];
        tempInstObjectDictionary = [tempInstForCopy mutableCopy];
        tempInstForCopy = nil;
        // show InsFitButton
        if (([[tempInstObjectDictionary objectForKey:@"newIComp"] isEqualToString:@"T"]) && ([[tempInstObjectDictionary objectForKey:@"newJCom"] isEqualToString:@"W"])) {
// make changes in here. continue with the loop.

最佳答案

尝试快速枚举:

for (NSDictionary *tempInstForCopy in sortedItemsArray) {

}

另外,也许您不需要为每个条目都制作每本词典的副本,您可以将它们存储为可变的,然后再从开始处存储。

关于ios - 如何快速遍历NSArray,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20348872/

10-10 08:38