searchBar には、次のコードがあります
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
{
[searchBar rejectFirstResponder];
self.filteredResults = [[NSMutableArray alloc] init];
NSPredicate* predicate = [NSPredicate predicateWithFormat:@"(%K == %@)", field1, field2];
self.filteredResults = (NSMutableArray *)[originalArrayfilteredArrayUsingPredicate:predicate];
}
編集:
- (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar
{
originalArray = [[NSArray alloc] initWithContentsOfFile:path];
はいを返します。
}
述語を 2 回目に実行するとself.fiteredResults、searchBarSearchButtonClicked:searchBarメッセージ内の割り当てでプログラムがクラッシュします。含める[self.filteredResults removeAllObjects]と、そこでプログラムがクラッシュするため、削除されましたが、2回目の検索では機能しません。このコードの中にクラッシュの原因となるものはありますか、それとも他の場所を探す必要がありますか? 前もって感謝します。