搜索栏控制器 - 搜索结果时崩溃

问题描述:

我正在实施搜索栏控制器来搜索表视图。执行搜索的下面的方法代码崩溃,出现错误“ - [__ NSArrayM rangeOfString:options:]:发送到实例0x65558e0的无法识别的选择器'搜索栏控制器 - 搜索结果时崩溃

locationInfo数组是包含26个数组的数组,每个数组包含一个数字的由字符串的对象。

任何人都可以说明为什么该代码崩溃?

谢谢。

- (void)handleSearchForTerm:(NSString *)searchTerm 
{ 
[self setSavedSearchTerm:searchTerm]; 

if ([self searchResults] == nil) 
{ 
    NSMutableArray *array = [[NSMutableArray alloc] init]; 
    [self setSearchResults:array]; 
    [array release], array = nil; 
} 

[[self searchResults] removeAllObjects]; 

if ([[self savedSearchTerm] length] != 0) 
{ 
    for (NSString *currentString in [self locationInfo]) 
    { 
     if ([currentString rangeOfString:searchTerm options:NSCaseInsensitiveSearch].location != NSNotFound) 
     { 
      [[self searchResults] addObject:currentString]; 
     } 
    } 
} 
} 
+0

东西展现代码在哪里设置选择器 – Fredrik

根据你得到的错误,似乎[self locationInfo]返回ARRA y(NSArray),而不是您期望的字符串(NSString)。

正如你在质询说“locationInfo”是包含26个阵列, 所以, currentString在[自locationInfo]会返回一个数组只所以要尽量写类似下面的数组:

为(NSArray的* currentArray在[个体经营locationInfo])

{ 
for (NSString *currentString in currentArray) 
{ 
    if ([currentString rangeOfString:searchTerm options:NSCaseInsensitiveSearch].location != NSNotFound) 
    { 
     [[self searchResults] addObject:currentString]; 
    } 
} 

}

或类似这样的