我正在实现一个针对相当复杂的表格的自定义搜索栏,并且又遇到了这个代码模式。以下是《Beginning iPhone Development》一书中的示例代码:
我感兴趣的部分是“for (NSString *name in array)”这一段。这段代码实际上是在数组中遍历每个元素并创建一个字符串。对于字典类型,也可以使用类似的语法来遍历键值对。希望能帮到你!
- (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];
}
我感兴趣的部分是“for (NSString *name in array)”这一段。这段代码实际上是在数组中遍历每个元素并创建一个字符串。对于字典类型,也可以使用类似的语法来遍历键值对。希望能帮到你!