2012-11-26 96 views
0

我會把UITableView放在UIView的內部。我創建了一個XB,我有一個tableView。UIView裏面的UITableView

#import <UIKit/UIKit.h> 

@interface PointsViewController : UIViewController <UITableViewDelegate> 
{ 

    IBOutlet UITableView *tableView; 
} 
@end 

- (void)viewDidLoad 
{ 

[super viewDidLoad]; 
[tableView setDelegate:self]; 
} 

我從另一個類實例化PointViewController類,並通過一個按鈕來將其添加到UINavigationBar:當我點擊該按鈕,PointsViewController「視圖(的tableView)將打開。但事實並非如此。 我錯過了什麼?我也嘗試將PointsViewController作爲UITableViewController的子類,它可以工作,但不顯示UITableView

+0

你無法推送'PointsViewController'或者看不到'UITableView'內容?,除了'UITableViewDelegate'協議外,你還應該實現'UITableViewDataSource'。 – tkanzakic

+0

我看不到UITableView ... – giuseppe

+0

你可以添加到從UITableViewDelegate和UITableViewDataSource協議的方法的執行嗎?,問題可能在那裏 – tkanzakic

回答

2

你還需要讓你的ViewController成爲UITableViewDataSource的一個委託。

@interface PointsViewController : UIViewController <UITableViewDelegate, UITableViewDataSource> 
{ 
    IBOutlet UITableView *tableView; 
} 
@end 

...並支持相應的方法。

http://developer.apple.com/library/ios/#documentation/uikit/reference/UITableViewDataSource_Protocol/Reference/Reference.html

+0

我添加該協議,但問題依然存在。該視圖不會加載,或者不會顯示。 – giuseppe

+0

您是否已將tableView IBOutlet連接到XIB中的表格?您還應該使用斷點或NSLog診斷來查看委託方法是否被調用? – Snips

+0

是的,我做到了。有一些我正在失去...... – giuseppe

1

您還需要掛鉤表的數據源和委託給文件的所有者。否則,視圖控制器不知道要發送響應的表是什麼。

在您的XIB中,選擇表並打開連接檢查器。然後將數據源旁邊的'加號'拖到文件所有者以建立連接。對委託和表格的引用出口做同樣的事情。