[self.tableView registerNib:[UINib nibWithNibName:@"NewTaskCell" bundle:[NSBundle mainBundle]] forCellReuseIdentifier:NewTaskCellId];
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NewTaskCell *cell = [self.tableView dequeueReusableCellWithIdentifier:NewTaskCellId forIndexPath:indexPath];
if (!cell) {
cell = [[NewTaskCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:NewTaskCellId];
}
if (self.taskList.count > indexPath.row) {
FindDisOrderInfoEntity *entity = [self.taskList objectAtIndex:indexPath.row];
[cell setCellContentWith:entity];
}
return cell;
}
迷茫2017-04-18 09:59:24
Remove if (self.taskList.count >indexPath.row)
セルの通常割り当て
セルが増えたらテーブルを更新するか、新しい行を更新します
高洛峰2017-04-18 09:59:24
これを (UITableViewCell )tableView:(UITableView )tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath プロキシ メソッドに記述します:
リーリーPHP中文网2017-04-18 09:59:24
セルの再利用。再利用は、セルの UIButton
や UILabel
など、再利用前の UIButton
で強調表示された状態 UILabel
である場合、再利用後は text=@"label"
です。は強調表示されたままで、UIButton
の UILabel
は text
のままで、label
が再利用されるときに cell
メソッドが呼び出されます。したがって、値と状態は一般に cellForRow
で再割り当ておよび変更されます。したがって、セルには cellForRow
というデフォルトのルールがあり、そうでない場合、セルはカオスになります。 如果有if 那一定要有else
PHP中文网2017-04-18 09:59:24
登録後、セルが空であるかどうかを判断する必要はありませんが、なぜカウントを判断する必要があるのか理解できません。 ?しかし、それはおそらくあなたの問題ではありません。セル上のコントロールが繰り返し追加されることを意味する場合、これはメソッドに問題がある可能性があります。ここでコントロールを作成して追加すると、再利用はデータを更新するだけです。つまり、割り当てプロセスのみがコントロールを作成しません