我加UITableView
到UIViewController
作爲一個子視圖,但是當我設置一個斷點到UITableView
數據源方法:一個UITableView對象需要初始化三次
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 1;
}
我找到斷點命中三次。這是爲什麼?
我加UITableView
到UIViewController
作爲一個子視圖,但是當我設置一個斷點到UITableView
數據源方法:一個UITableView對象需要初始化三次
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 1;
}
我找到斷點命中三次。這是爲什麼?
您提到的方法是數據源方法,與初始化無關。這只是tableview調用的方法來詢問表中有多少行。我不會太在意桌面視圖詢問數據源的次數,表中有多少行。
我假設你已經使用界面構建器創建了你的tableview作爲另一個視圖的子視圖。這是你初始化tableview的時候。所有使用界面構建器創建的對象都將在界面構建器中初始化。 Xcode然後在編譯過程中歸檔這些對象(Apple稱之爲凍幹),並在運行時將這些對象解除存檔。
在取消存檔過程中,使用界面構建器創建的對象與其出口連接,放置在屏幕上等。然後是對象執行對其委託和數據源的調用。這可能會發生一次以上。
希望這會有所幫助。
它只會執行行數。否則,你有沒有聲明numberOfSections委託你給了一些沒有部分。 ? –
你是否在任何地方使用過reloadData? –
@BalajiRamakrishnan我宣佈了1個部分 – windy