изменить класс TableViewCell в соответствии с ViewController, в котором присутствует tableView - PullRequest
0 голосов
/ 21 января 2010

У меня есть только 1 класс tableView, но 4 класса ячеек. Я добавляю один и тот же tableView для всех viewControllers, присутствующих в приложении. Разница заключается в типе (класс, если быть точным) ячейки. Я хочу изменить класс ячейки в соответствии с viewController, в котором присутствует tableView. Кроме того, представление содержимого ячейки отображается в другом подклассе класса ячейки. Пожалуйста, предоставьте решение или подход, чтобы следовать этой функции. Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 21 января 2010

Возможно, вам следует использовать разные таблицы для каждого контроллера представления (если вы еще этого не сделали).

Как правило, вы также используете разные источники данных / делегаты для каждого табличного представления (например, вы можете использовать каждый контроллер представления).

Однако, если вы должны использовать тот же класс, что и источник данных / делегат для всех четырех табличных представлений, tableView:cellForRowAtIndexPath: (и другие методы делегата) предоставят вам табличное представление в качестве первого аргумента, так что вы можете вернуть правильные клетки, как это:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    if (tableView == myTableViewOne) {
        // dequeue or allocate/init and configure/return the cell for the first table view here
    } else if (tableView == myTableViewTwo) {
        // dequeue or allocate/init and configure/return the cell for the second table view here
    } else if (tableView == myTableViewThree) {
        // dequeue or allocate/init and configure/return the cell for the third table view here   
    } else {
        // dequeue or allocate/init and configure/return the cell for the fourth table view here
    }
}
1 голос
/ 21 января 2010

Запросите у tableView имя класса, используя метод NSObjects -class, и используйте его, чтобы решить, какой класс ячеек использовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...