2012-07-18 68 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。 注意:如果您可以編輯您的答案並用委託代替代表:-) – 2012-07-18 15:02:00

+0

:) thx用於糾正錯字 – MrBr 2012-07-18 15:03:04

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;' 它沒有工作。也許我忘了一些東西? – 2012-07-18 13:54:36

+0

我想你正在搞亂一些東西。特別是在MVC設計模式中查看Apple文檔。你不需要創建一個UITableViewController,並且你不能將控制器分配給UI元素 – MrBr 2012-07-18 14:15:51

+2

@ MrA59,不,你不創建使UITableView成爲委託,而是讓UIViewController成爲UITableView的委託。見MrBr的答案。 – 2012-07-18 14:50:18

相關問題