点击我的搜索栏会导致以下异常:"'NSInvalidArgumentException', reason: '-[NSIndexPath isEqualToString:]:unrecognized selector sent to instance 0x1d52d9b0'"
使用模拟器做得很好,一切正常。但在真实设备上,应用程序崩溃。
为了调试,我在相关视图控制器中的每个方法上都放置了一个断点,但是在应用程序崩溃之前录制之后没有调用我的任何方法。之后,我尝试从UISearchBarDelegate
协议和协议中实现所有方法UISearchDisplayDelegate
。我再次放置了一个断点和一些NSLog
调试输出。仅在崩溃之前- (void)searchDisplayControllerWillBeginSearch:(UISearchDisplayController *)controller
调用。
知道在哪里看或尝试什么吗?我不明白为什么模拟器上没有触发异常。我真的很想知道发生了什么事;)
这是导致该错误的代码:
NSString *labelText;
if ([self.searchDisplayController isActive]) {
if (self.filteredStrings > 0) {
labelText = [self.filteredStrings objectAtIndex:indexPath.row];
}
}
else
{
...
}
cell.textLabel.text = labelText;
好的,这是固定代码:
NSString *labelText;
if ([self.searchDisplayController isActive]) {
if (self.filteredStrings > 0) {
labelText = [self.filteredStrings objectAtIndex:indexPath.row];
cell.textLabel.text = labelText;
}
}
else
{
...
cell.textLabel.text = labelText;
}