В библиотеке объектов Xcode существуют два параметра, которые можно использовать для создания вида табличного представления - табличного представления и контроллера табличного представления. В чем разница между ними и когда они будут использоваться?iOS - В чем разница между Table View и Table View Controller
ответ
TableViewController - это ViewController с встроенным TableView. Это потребует уже объявленных и настроенных методов делегата. Этот VC уже является делегатом TableView и источником данных. Его нельзя изменить. Поверхность - это простота использования, недостаток - очень ограниченная гибкость.
TableView - это просто TableView (подкласс UIView). Его можно добавить в ViewController и изменить размер, использовать вместе с другим объектом, основанным на представлении, и т. Д. Потенциал роста - это гибкость, недостатком является то, что вам нужно самостоятельно настроить методы делегата и источника данных (на мой взгляд, стоит потратить время гибкость).
Еще одно замечание: при использовании новых ячеек Static TableView (часть iOS5) вам необходимо использовать TableViewController.
UITableViewController
является подклассом UIViewController
. Он уже предполагает, что у вас будет UITableView
как ваш rootView, так что у вас уже есть доступ из кода в tableView (self.tableView). Он реализует протокол UITableViewDataSource
и UITableViewDelegate
. Это также дает вам множество способов переопределить. Это позволяет вам не зависеть от XIB-файла, потому что вы уже знаете, что у вас будет (UITableView
как rootView).
UITableView
просто UIView
, как правило, вы должны соблюдать для протоколов я упомянутые выше в вашем UIViewController
для того, чтобы заполнить (источник данных) и работать с ним (делегат), и вы, возможно, придется создать IBOutlet для вашего UITableView
.
С одной стороны, у вас есть скорость, но вы не так гибки, как другой путь. С другой - наоборот.
Ваш ответ, как правило, правильный, но немного ориентированный на мой вкус. Чтобы уточнить, IBOutlets, безусловно, необходимы только в том случае, если вы намереваетесь использовать InterfaceBuilder для выкладки своих просмотров. Эта задача, безусловно, может быть выполнена (иногда лучше) с использованием простого кода. – Till
Я предпочитаю использовать 'InterfaceBuilder' всякий раз, когда могу, быстрее, и он сохраняет код чистым. Конечно, вы можете объявить 'UITableView' в своем коде и просто добавить его' UIView', хотя мне это не нравится. – Peres
- 1. Запрос в Table View Controller
- 2. iOS Table Views and View Controller
- 3. set table view in View controller
- 4. Флажки и View Table Table View
- 5. Использование Table View в View Controller и его подключение
- 6. Table View Controller и TextField Inside ModalView
- 7. search display controller update table view
- 8. Objective-C - Table View Controller - Ожидаемое выражение
- 9. Изменить текст на контроллере View через Table View Controller options?
- 10. Инициализация Parse.com Table View Controller в Swift
- 11. В чем разница между {{view}} и {{#view}}
- 12. Table View Controller в раскадровке с классом
- 13. Расширяемый FAQ table view iOS
- 14. iOS Table View Refresh Cell
- 15. UITextField Table View Cells - iOS
- 16. MGTwitterEngine и Table View
- 17. Сочетание VIEW и TABLE
- 18. Зарегистрировать ячейку программно инстанциирован Table View Controller
- 19. iOS Xcode 4.3 Table View Controller & XML Parsing
- 20. Blackberry table View
- 21. Static Table View
- 22. iOS - Настройки - Modal Segue to Table view controller
- 23. View Table Table View в виде таблицы на основе представления
- 24. Segues не работает (Table view/navigation controller/tab controller)
- 25. В чем разница между Partial View & View?
- 26. В чем разница между Front Controller и View Helper
- 27. Ссылка на «Table view Controller» в раскадровке для загрузки .xib?
- 28. sql table view problem
- 29. Fake Table View
- 30. Table View Multiple Segues
Хорошая точка в упоминании об отсутствии изменения размера/совместного использования 'UITableView' с другими элементами управления на одном экране при использовании' UITableViewController'. Ну, с другой стороны, всегда можно использовать элементы tableHeaderView и 'tableFooterView' для других элементов управления. – Till
Правда, но когда вы делаете такие вещи, как статический SearchBar (который не прокручивается), VC с TableView работает хорошо. –