0

SearchDisplayController と TableView を持つビュー (SearchView) があります。

.h:

@property (nonatomic, retain) IBOutlet UITableView *tableView;

これを .xib ファイルで TableView にリンクしました: > ここでリンクを参照してください

次に cellforrow で:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath


if(listGoal){
    
    Goal *goalz = nil;
    
    if (tableView == self.searchDisplayController.searchResultsTableView)
    {
        goalz = [self.filteredListContent objectAtIndex:indexPath.row];
        cell.textLabel.text = goalz.goalNaam;
    }
    else
    {
        
        goalz = [arr objectAtIndex:indexPath.row];
        cell.textLabel.text = goalz.goalNaam;
        cell.detailTextLabel.text = goalz.goalBeschrijving;
    }
}

私は、filteredListContent または元の配列 arr が必要かどうかをテストします。(私はSearchDisplayControllerを使用しているため)これは機能しています。

別の方法では、

 if (tableView == self.searchDisplayController.searchResultsTableView)

はもう機能していないので、使用してみました

self.tableView

しかし、これも機能せず、

  (UITableView *)tableView

どちらも機能していません。プロパティの宣言またはリンケージに何か問題があることはわかっていますが、何が問題なのですか?

4

1 に答える 1

1

カスタム メソッドで検索ビューにアクセスする 1 つの方法は、検索ビューを取得したときに検索ビューへの強い参照を保持することです。しかし、それが複数の検索で有効かどうかはわかりません。

BOOL変数を設定して、それをカスタムメソッドで使用できるかもしれません。そうしないと、カスタム メソッドで検索ビューにアクセスできないと思います。

于 2012-12-31T10:52:39.557 に答える