2012-02-08 4 views
1

У меня есть контроллеры представления таблицы представлений, которые содержат довольно большой набор функциональных возможностей и множество строк кода. Есть ли принятый способ разделить один контроллер на несколько контроллеров или объектов, чтобы сделать его более читаемым и более легким для навигации/поддержки ?Разделение большого контроллера iOS View?

ответ

4

Да, есть способы сделать ваш код более модульным. Прежде всего, используя UITableView, есть делегат и источник данных. Вы можете создавать отдельные классы NSObject для каждого из них.

Класс DataSource будет содержать такие вещи, как tableView:cellForRowAtIndexPath: и tableView:numberOfRowsInSection:. Полный список здесь: UITableViewDataSource.

Класс делегата будет содержать такие вещи, как: tableView:didSelectRowAtIndexPath: и tableView:willDisplayCell:forRowAtIndexPath:. Всю полный список здесь: UITableViewDelegate

Это действительно имеет значение, где большая часть вашего кода. Если все это создает пользовательскую ячейку, создайте для нее класс и просто отправьте ей информацию, необходимую для ее создания.

+0

Я полностью забыл о различии между DataSource и Delegate - это поможет разбить класс. Это именно то, что мне нужно - спасибо. – nullfox

0

Вы можете просто использовать два подкласса UIView (или tableView в зависимости от того, что вы делаете), чтобы сделать код вида более модульным. Без дополнительной информации о том, что вы пытаетесь, трудно быть более конкретным.

+0

откровенно говоря, я не понимаю, почему это было бы опущено. Это безупречный ответ. Im re-upvoting это. – katzenhut

Смежные вопросы