【发布时间】:2011-10-08 21:54:25
【问题描述】:
我有一个问题:我正在编写一个使用 searchBar 和 tableView 的应用程序。
当我点击搜索栏时,输入一些要搜索的字符串,一旦我点击取消按钮,或者删除所有搜索词并再次点击 tableView,我的应用程序就会崩溃。
当我在 iOS 模拟器中运行应用程序时,它不会崩溃。
当我通过 xcode 在我的 iPhone 上运行该应用程序时,它不会在执行此操作时崩溃。
我不太了解设备日志,我想问一下是否有任何方法可以找出发生了什么严重错误以及为什么在通过 xcode 执行此操作时没有发生这种情况。请帮帮我!
PS:设备日志之一:(也许你们都明白)
编辑:这是 searchDisplayControllerDidEndSearch 方法的代码:
- (void)searchDisplayControllerDidEndSearch:(UISearchDisplayController *)controller
{
[self.navigationController setNavigationBarHidden:NO animated:YES];
[UIView beginAnimations:@"DeactivateSearch" context:nil];
[UIView setAnimationDuration:0.4];
[self.attractionsTableView setFrame:CGRectMake(0, 43, 320, 362)];
[UIView commitAnimations];
NSFetchRequest *fetchRequest = [[self fetchedResultsController] fetchRequest];
[fetchRequest setPredicate:nil];
NSError *error = nil;
if (![[self fetchedResultsController] performFetch:&error]) {
// Handle error
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
[self setSearchIsActive:NO];
return;
}
更新:如果没有输入文本,搜索栏不会崩溃。因此,只需激活 searchBar 并在不输入的情况下将其停用即可。但只要我输入了一个字符,停用过程就会使应用程序崩溃。
【问题讨论】:
标签: ios xcode crash uisearchbar uisearchdisplaycontroller