2012-07-18 2 views
0

Я работаю над приложением iOS, и мне нужны ваши ребята!Связать UITableViewController с UITableView

Моя домашняя страница UIView, в этом UIView у меня есть UIImageView, ..., а также UITableView.

Я создаю класс UITableViewController, и мне нужно связать этот класс с моим UITableView.

Как я могу это сделать?

С уважением!

ответ

1

Почему вы хотите создать для него UITableViewController. Просто создайте UIViewController и добавьте UITableViewControllerDelegate и UITableViewDataSource к нему, чтобы взять контроль над UITableView:

SomeClass : UIViewController <UITableViewControllerDelegate, UITableViewControllerDataSource> 

в viewDidLoad вы должны назначить делегата/источника данных о Tableview на свой UIViewController:

self.tableView.delegate = self; 
self.tableView.datasource = self; 
+0

Спасибо! он работает ... Я добавляю UITableViewControllerDelegate и UITableViewDataSource на свой RootViewCOntroller (HomeViewController), а в методе viewDidLoad я написал: 'self.homeTableView.delegate = self; self.homeTableView.dataSource = self; ' homeTableView - это мой метод TableView IBOutlet. Примечание: если вы можете отредактировать свой ответ и заменить делегат делегатом :-) –

+0

:) thx для исправления опечатки – MrBr

1

Если вы считаете, что ваша «домашняя страница» - это класс RootViewController (.h/.m/.xib), вы будете расширять этот класс, чтобы иметь UITableViewDelegate и UITableViewDataSource. В вашем определении UITableView вы установите делегат и источник данных RootViewController и добавьте необходимые методы для рендеринга ячеек.

Не требуется UITableViewController.

+0

Спасибо за ваш ответ. Я создаю UITableView (HomeTableView), и я расширяю этот класс, чтобы иметь UITableViewDelegate и UITableViewDataSource, и я добавил необходимые методы. В моем HomeViewController и в методе viewDidLoad я сделал: 'HomeTableView * tableViewHome = [[HomeTableView alloc] init]; self.tableView = tableViewHome; ' Это не сработало. Может, я что-то забыл? –

+0

Я думаю, что у вас какие-то вещи. Взгляните на документацию Apple, особенно на шаблон проектирования MVC. Вам не нужно создавать UITableViewController, и вы не можете назначать контроллеры для элементов пользовательского интерфейса – MrBr

+2

@ MrA59, вы не создаете, чтобы сделать UITableView делегатом, вы делаете UIViewController делегатом UITableView. См. Ответ MrBr. –

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