0

点击我的搜索栏会导致以下异常:"'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;
}
4

0 回答 0