相关疑难解决方法(0)

快速枚举(循环)如何在Objective-C中工作?(即:for((字典中的NSString*aString)...)

我正在为一个相当复杂的表实现一个自定义的searchBar,并且遇到了这种代码模式.这是来自Beginning iPhone Development书的一个示例:

- (void)handleSearchForTerm:(NSString *)searchTerm
 {
NSMutableArray *sectionsToRemove = [[NSMutableArray alloc] init];
[self resetSearch];

for (NSString *key in self.keys)
  {
    NSMutableArray *array = [self.names valueForKey:key];
    NSMutableArray *toRemove = [[NSMutableArray alloc] init];
    for (NSString *name in array)
    {
        if ([name rangeOfString:searchTerm
                      options:NSCaseInsensitiveSearch].location == NSNotFound)
            [toRemove addObject:name];
    }

    if ([array count] == [toRemove count])
        [sectionsToRemove addObject:key];
    [array removeObjectsInArray:toRemove];
    [toRemove release];
  }
[self.keys removeObjectsInArray:sectionsToRemove];
[sectionsToRemove release];
[table reloadData];
}
Run Code Online (Sandbox Code Playgroud)

我很好奇的部分是"for(NSString*数组中的名字)"部分.这到底是做什么的?它似乎为数组中的每个项创建一个字符串.此外,这如何与字典一起使用?

谢谢!

arrays iphone dictionary loops

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

arrays ×1

dictionary ×1

iphone ×1

loops ×1