テーブルビューに SearchBar 機能を追加しました (SearchBar を TableView ではなくビューにドラッグしたことに注意してください)。NSRange 関数に到達すると、例外エラーをスローしてプログラムをクラッシュさせる次のサブプロセスがあります。以下は私のSearchBar
方法です。エラーの原因となっている可能性のあるものは何かわかりますか? (以下にフォームのデバッグ画面の抜粋を含めました)
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText{
if (searchText.length==0){
boolIsFiltered = NO;
}
else
{
boolIsFiltered = YES;
arrayFilteredproducts = [[NSMutableArray alloc]init];
for (NSString *str in arrayProducts) {
NSRange stringRange = [str rangeOfString:searchText options:NSCaseInsensitiveSearch];
if (stringRange.location!=NSNotFound){
[arrayFilteredproducts addObject:str];
}
}
}
}
そして、これが を作成するメソッドですarrayProducts
。
- (void)request:(SFRestRequest *)request didLoadResponse:(id)jsonResponse {
NSMutableArray *records = [jsonResponse objectForKey:@"records"];
arrayProducts = records;
[self.tableProducts reloadData];
}
デバッグ画面からのダンプは次のとおりです。
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSDictionaryM rangeOfString:options:]: unrecognized selector sent to instance 0x176c5a80 First throw call stack:
(0x30076f8b 0x3a5166af 0x3007a927 0x3007920b'