1

AFNetworking を使用して MySQL データベースからデータを取得しています。 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

現在ログインしているユーザーがMySQLのフィールド「作成者」と等しいかどうかを確認するコードがあります。エントリは表示されますが、空のセルを非表示にしたいです。

if ([creator isEqual: userID]) {

    [cell.contentView addSubview:imageView];

    cell.textLabel.text = [[NSString alloc] initWithFormat:@"       %@",[tempDictionary objectForKey:@"team_name"]];
    cell.detailTextLabel.text = [[NSString alloc] initWithFormat:@"%@        %@ \n%@", [tempDictionary objectForKey:@"date"], [tempDictionary objectForKey:@"time"], [tempDictionary objectForKey:@"location"]];

} else {

    [imageView removeFromSuperview];

    cell.textLabel.text = nil;
    cell.detailTextLabel.text = nil;

}

UITableView は、選択したフィールドのデータを表示しているだけでなく、他のすべての空のセルも表示しています (まだ配列をカウントしているため)。

4

3 に答える 3

2

これを行う唯一の方法は、データ ソース配列を更新することです。データ ソース配列からもそのオブジェクトを削除する必要があります。また、その値も維持したい場合は、もう1つの配列を維持し、その配列をフィルタリングして、値を持つすべてのオブジェクトを取得し、述語を使用してフィルタリングされたオブジェクトでデータソース配列を埋めます。これがお役に立てば幸いです。

于 2013-06-26T12:00:40.993 に答える
1

ロードする前に、これを使用してロードする前に、自分の状態anotherArrayから準備することをお勧めします。masterArray([creator isEqual: userID])tableViewtableViewanotherArray

于 2013-06-26T11:46:09.300 に答える