搜索栏控制器 - 搜索结果时崩溃
问题描述:
我正在实施搜索栏控制器来搜索表视图。执行搜索的下面的方法代码崩溃,出现错误“ - [__ 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];
}
}
}
}
答
根据你得到的错误,似乎[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];
}
}
}
或类似这样的
东西展现代码在哪里设置选择器 – Fredrik