В Xcode
, когда я создаю новый контроллер представления, содержащий табличное представление, у меня есть два варианта.
- Создайте новый
UITableViewController
- Создайте новый
UIViewController
, реализующий протоколыUITableViewDelegate
иUITableViewDataSource
.
Предполагая, что я правильно реализую все обязательные и необязательные методы для протоколов, есть ли какие-либо преимущества (кроме того, что не нужно писать заглушки методов) для использования UITableViewController
? означает, есть ли что-нибудь (управление памятью, кэширование и т. д.), реализованное за кулисами в классе UITableViewController
, что делает вариант 1 лучшим выбором, чем вариант 2?
UITableViewController
также обрабатывает настройкуcontentInset
табличного представления и прокрутку первого респондента в поле зрения, когда клавиатура отображается и скрывается. 14.05.2016contentInset
тогда не применялось. Это изменилось в iOS 7. 14.05.2016contentInset
корректируется, когда клавиатура отображается и скрывается. Это позволяет прокручивать и видеть нижнюю часть таблицы, когда клавиатура поднята. Это отличается от № 8, который относится к навигационным панелям и панелям инструментов, и № 9, который относится к активации текстового поля. 28.01.2017