0

UITableView の検索バー フィルターの使用に問題があります。

複数の配列に温度データを記録しています:

NSMutableArray *timeArray; // Array which saves date and time
NSMutableArray *tempInside; // saves inside temp
NSMutableArray *tempOutside; // saves outside temp
NSMutableArray *timeArraySearch; // Array which saves date and time searched
NSMutableArray *tempInsideSearch; // saves inside temp searched
NSMutableArray *tempOutsideSearch; // saves outside temp searched

すべてのデータを表示するには、UITableView を使用します。には timeArray を使用しcell.textlabel.textます。

現在、検索バーを使用してデータをフィルタリングするのに問題があります。これが私の filterContentForSearchText方法です:

- (void)filterContentForSearchText:(NSString*)searchText scope:(NSString*)scope
{
    NSPredicate *resultPredicate = [NSPredicate
                                    predicateWithFormat:@"SELF contains[cd] %@",
                                    searchText];

    tempInsideSearch = [tempInside filteredArrayUsingPredicate:resultPredicate];
    tempOutsideSearch = [tempOutside filteredArrayUsingPredicate:resultPredicate];
    timeArraySearch = [timeArray filteredArrayUsingPredicate:resultPredicate];
}

アプリケーションを実行したところ、空の配列の例外が発生しました。次に、このメソッドをもう一度チェックしたところ、「06:41PM」のような値が含まれていないため、tempInsideSearch と tempOutsideSearch が空であることが正常であることがわかりました...

最後に、ここに私の質問があります: インデックスを timeArray に適合させるには、一時配列をフィルター処理するにはどうすればよいですか?

4

1 に答える 1

0

日付/時刻、insideTemp、outsideTemp プロパティを持つクラスを作成し、そのインスタンスを配列に格納し、3 つの異なる配列を使用して高度に関連付けられた情報を格納する代わりに、その配列にフィルタリングを適用します ...

于 2013-10-31T15:20:47.470 に答える