0

エンティティCustomerのデータモデルがあります。顧客には、名前、住所などの属性があります。これらの属性の1つは、コールバック日です。今日のコールバック日を持つ顧客のみをテーブルにロードしたいと思います。以下は、日付が等しいかどうかを確認してからセルを作成するためにチェックする必要があるコードです。問題は、日付が等しくなく、セルの作成をスキップする場合です。その特定の顧客をスキップして次の顧客に移動するにはどうすればよいですか?

if(date==date2 && month==month2 && year==year2)
    {
        static NSString *CellIdentifier = @"Cell";
        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

        if (cell == nil) {
            cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
        }


        NSString *string = [NSString stringWithFormat:@"%@ %@", cust.firstName, cust.lastName];
        cell.textLabel.text = string;
        return cell;
    }
return nil;


}
4

1 に答える 1

0

まったく別の道を歩むことになります。

セルに何も表示しないのではなく、セルが存在するためのデータを提供しないでください。モデルを使用しているとのことですが、コアデータを使用していると思いますか?

その場合は、モデルをフェッチするときに述語を変更して、基準を満たさないすべてのオブジェクトを無視します。次に、不要なものがないことがわかっているので、テーブル内のすべてのオブジェクトを表示できます。

または、すべてを取得し (おそらくコア データを使用していない場合)、使用しているデータの配列に述語を適用し、そのようにフィルター処理します。

于 2012-12-28T05:44:16.103 に答える