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回目の検索では機能しません。このコードの中にクラッシュの原因となるものはありますか、それとも他の場所を探す必要がありますか? 前もって感謝します。