2015-01-26 6 views
0

Я немного работал в iOS, но в основном работал над проектом, который никогда не использовал раскадровки. Все в коде, и я не слишком разбираюсь в Раскадках.Раскадровки и подклассы

Я пытаюсь понять, как реализовать BaseTableViewController и иметь все мои подклассы контроллеров таблиц. Я хочу сохранить один tableView в этом суперклассе.

Так сказать, я создаю FirstTableViewController и SecondTableViewController подклассы от BaseTableViewController. Я добавляю tableViews каждому, чтобы я мог установить свои Protoype Cells для каждого отличительного подкласса. Затем я добавляю и подключаю их в своем раскадровке.

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

Как с этим справиться?

+0

Не могли бы вы уточнить один момент? Вы пытаетесь сделать подклассы tableViewControllers, но не иметь в них табличных представлений, только один в BaseTableViewController? – Tokuriku

+0

Да. Вот как я настраиваю свой проект, когда в чистом коде. Но я смущен тем, как обращаться с Prototype Cells в раскадровке, если настроен таким образом. – monkeydog

+0

Как вы это сделали в коде? Когда вы говорите один вид таблицы, вы имеете в виду только один экземпляр? Представление не может быть более чем в одном месте за раз, так как вы это делали? – rdelmar

ответ

1

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

 let cellNib = UINib(nibName: "xibfileforTableViewCell", bundle: NSBundle.mainBundle()) 
    tableView.registerNib(cellNib, forCellReuseIdentifier: cellReuseIdentifier) 

Вы можете использовать выходы из XIb файлов так же, как раскадровки