2013-08-31 78 views
1

對不起,noob問題,但如果我要創建一個UITableViewController,我可以通過聲明創建的指針表:如何創建指向UITableView的指針?

UITableView *tableView = self.tableView; 

我會怎麼做,如果我要創建一個TableView中一個UIViewController在視圖控制器中創建的視圖控制器中聲明爲數據源和委託?

回答

0

您應該將IBOutlet添加到您的視圖控制器並將其連接到故事板中。

@property (weak, nonatomic) IBOutlet UITableView *tableView; 

這有效地複製了由UITableViewController提供的標準tableView屬性。

請注意,weak屬性假定tableView是視圖控制器view的子視圖。如果不是,則tableView也應該作爲故事板中的view IBOutlet連接。在這種情況下tableView成爲view的別名。

0

沒有必要爲UITableViewController中的表格視圖創建出口。它已有一個您可以訪問的屬性tableView。它碰巧指向與view屬性相同的對象。

在參考其他答案時,請注意,您不能移動表格視圖以成爲view的子視圖,因爲它們是相同的。你將不得不使用超類UIViewController來做這樣的設置。

這記錄在UITableViewController documentation

+0

我不明白這一點「它恰好指向與視圖屬性相同的對象。」 – Allen

+0

另外,我創建了一個帶有tableview的ViewController,而不是UITableViewController,沒有tableView可以訪問。 – Allen

+0

您提問的句子意味着這兩個屬性指向相同的機器地址,即同一個對象。指針是相同的。你的問題清楚地問到關於表視圖控制器而不是視圖控制器。謝謝你浪費我的時間。 – Mundi

1

遵循這個步驟,請:

1)將tableViewController到故事板,將其放置在屬於您的UIViewController視圖控制器;

2)在您的班級的標題中添加協議。把它放在這樣的接口線 - @interface YourViewController : UIViewController <UITableViewDataSource,UITableViewDelegate>

3)添加屬性到標題類的 - @property (strong, nonatomic) IBOutlet UITableView *tableView;

4)控制+在故事板拖動的tableView並將其連接到數據源和的tableView委託,並將其連接到財產IBOutlet UITableView *tableView;

5)添加單元格,爲tableView重用標識符,以及類方法實現您的類。