在 searchBar 中,我有以下代码
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
{
[searchBar resignFirstResponder];
self.filteredResults = [[NSMutableArray alloc] init];
NSPredicate* predicate = [NSPredicate predicateWithFormat:@"(%K == %@)", field1, field2];
self.filteredResults = (NSMutableArray *)[originalArray filteredArrayUsingPredicate:predicate];
}
编辑:
- (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar
{
originalArray = [[NSArray alloc] initWithContentsOfFile:path];
返回是;
}
在我第二次运行谓词时,程序在消息中的分配处self.fiteredResults崩溃searchBarSearchButtonClicked:searchBar。如果我包含[self.filteredResults removeAllObjects],那么程序会在那里崩溃,所以它被删除了,但在第二次执行搜索时它仍然无法运行。此代码中的任何内容是否会导致崩溃,或者我应该寻找其他地方吗?提前致谢。