私の問題は、私がそれについて何も見つけていないので、誰にとっても問題ではないようです。それほど大きな問題ではないかもしれませんが、私にとってはそうです。
この MutableArray には、XML ファイルからの大量のデータが格納されています。-Name -Age -Address 検索は Name に対して行われ、フィルタリングは今のところうまく機能しています。
私がしているのは、rangeOfString で配列を検索することですが、それは文字列 (-Name) のみを返し、元の配列のようなコンテンツを含む配列は返しません。現在は文字列のみであるためです。
どうすればこれを達成できますか?
それが私のこれまでの検索です
if ([[self searcher] length] != 0)
{
for (NSString *currentString in [self listOfContent])
{
if ([currentString rangeOfString:searchTerm options:NSCaseInsensitiveSearch].location != NSNotFound)
{
[[self filteredListOfContent] addObject:currentString];
}
searcher は SearchBar の文字列です。それとも他にもっと効率的な方法がありますか、それとも MutipleArry の任意の値を検索することは可能ですか?!?
どんなアイデアや提案も大歓迎です
コードをこれに変更しました
NSString *searchText = searchBar.text;
NSMutableArray *searchArray = [[NSMutableArray alloc] init];
for (NSDictionary *dictionary in listOfContent)
{
//NSArray *array = [dictionary objectForKey:LNAME];
[searchArray addObject:dictionary];
}
for (NSString *sTemp in searchArray)
{
NSLog(@"array %@", searchArray);
if ([sTemp rangeOfString:searchText options:NSCaseInsensitiveSearch].location != NSNotFound)
[filteredListOfContent addObject:searchArray];
}
ログはフィルターが機能しているように見えることを示していますが、このエラーが発生します
2010-10-22 16:18:09.708 TableView[6114:207] -[__NSCFDictionary rangeOfString:options:]: unrecognized selector sent to instance 0x5c3f540
2010-10-22 16:18:09.712 TableView[6114:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFDictionary rangeOfString:options:]: unrecognized selector sent to instance 0x5c3f540'
誰が問題が何であるか教えてもらえますか
それでも解決策が見つかりませんでした。コードを次のように変更しました。
NSMutableArray *searchArray = [[NSMutableArray alloc] init];
for (NSDictionary *dictionary in contentsList)
{
NSArray *array = [dictionary allValues];
[searchArray addObjectsFromArray:array];
}
for (NSDictionary *dict in searchArray)
{
if ([[dict valueForKey:@"NAME"] rangeOfString:searchTerm options:NSCaseInsensitiveSearch].location != NSNotFound) {
NSLog(@"Filter %@", dict);
[searchResults addObject:dict];
}
今、私は値を持つ配列を持っていますが、それでもエラーが発生します
2010-10-28 16:23:46.124 TableViews[8373:207] *** Terminating app due to uncaught exception
'NSInvalidArgumentException', reason: '-[NSCFString objectForKey:]: unrecognized selector sent to instance 0x5a5eb00'
エラーが意味すること、または私が間違ったことを誰かが説明できますか?!?