2012-06-26 54 views
1

我正在閱讀iOS教程,我有一個.h和.m文件。在.m文件,我寫的,這樣定義的一些方法 -已定義方法,未調用,仍應用已更改

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 
    return 1; 
} 

,或者

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"ChecklistItem"]; 
    return cell; 
} 

我沒有在任何地方調用這些方法。不過,輸出在運行時會發生變化。怎麼樣?這些壓倒一切的方法是什麼?

回答

4

如果我正確地得到您的問題,「你也沒有告訴一些方法,但它們將運行」 這是真的,在Xcode你不調用一些方法,它們會自動運行。當您在.xib中放置一個對象時,會有一些相關的方法可以在您的項目上運行。 如果你想獲得它們,你可以簡單地刪除它們。

+0

是的,那是我的問題 – onlinenaman

2

不,它們不是最重要的方法。 放一個斷點,去調試,你會看到誰在調用上面的方法。

請記住,如果您返回1,則始終會致電celForRowAtIndexPath。因爲你剛剛說過有一個元素。

順便說一句,這些方法被稱爲「自動」,因爲您已將控制器設置爲您的UITableViewdatasource。當你設置

4

這些功能都呼籲:

yourTableView.delegate = self; 
yourTableView.dataSource = self; 

或連接yourTableViewFile's owner.xib文件。 否則您的UIView顯示默認UITableView

2

這些表視圖委託方法,,他們生病自動被調用時,u盤

TableViewVar.delegate = self; 
TableViewVar.dataSource = self; 
相關問題