点击搜索栏会导致异常,但仅限于真实设备

时间:2012-06-12 19:05:11

标签: iphone objective-c ios xcode ios-simulator

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

0 个答案:

没有答案