Подтвердить что ты не робот

Предоставляет ли UITextField статус первого ответчика в UITableViewCell запретить повторное использование ячеек?

В UITableView, где ячейки содержат объекты UITextField, имеет ли один из этих объектов UITextField первый ответчик, чтобы его ячейка не использовалась повторно?

Например, при UITableView, у которого больше строк, чем будет помещено на экран, можно нажать на UITextField, чтобы вызвать клавиатуру для поля в этой ячейке. Затем прокрутите представление таблицы, чтобы эта ячейка покинула экран. При прокрутке назад к ячейке я могу видеть вызовы -tableView:cellForRowAtIndexPath: для всех ячеек, кроме тех, которые содержат UITextField, который в настоящее время имеет статус первого ответчика.

Такое поведение заставляет меня думать, что iOS знает, что моя ячейка содержит первого ответчика и, таким образом, выбирает не отбрасывать ячейку, поэтому не нужно вызывать источник данных, чтобы получить ячейку при ее прокрутке назад. p >

Такое поведение желательно, но меня беспокоит, потому что я не видел никакой документации, которая указывает, что это поведение гарантировано, и я бы не хотел полагаться на него, если есть условия, когда это не так.

Может ли кто-нибудь указать мне на некоторую документацию о повторном использовании ячеек таблицы и первых респондентов, которая охватывает эту ситуацию?

4b9b3361

Ответ 1

В официальной документации SDK iOS такой ссылки нет. Вы правы, опасаясь, что это поведение, которое вы наблюдаете, не гарантируется и на него нельзя положиться.