我想知道是否有方法在整個程序的任何地方調用tableview函數。我的意思是我想調用這個功能:iPhone SDK:在任何地方調用tableview函數
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
我的代碼中的任何地方。是否有使用自我功能或任何其他方面的可能性?謝謝。
我想知道是否有方法在整個程序的任何地方調用tableview函數。我的意思是我想調用這個功能:iPhone SDK:在任何地方調用tableview函數
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
我的代碼中的任何地方。是否有使用自我功能或任何其他方面的可能性?謝謝。
你當然可以。你只需要能夠在NSIndexPath
對象傳遞給它,就像這樣:
UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];
一旦cellForRowAtIndexPath
回報你的對象,你可以訪問它的屬性等,如:
cell.backgroundView.alpha = 0.0;
而且,如果您使用的是自定義的UITableViewCell,你可以得到你的自定義單元格按類型鑄造調用返回:
MyCustomCellClass *cell = (MyCustomCellClass *)[self.tableView cellForRowAtIndexPath:indexPath];
您只需撥打[實現代碼如下reloadData];這將在索引路徑中調用行的單元格。
你可以這樣來做:
// First do modifications in the datasource for table
// And then you can reload the specific row like this:
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0];
[self.tableView reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];
和你的cellForRowAtIndexPath不打電話可能是因爲您沒有設置委託或有上顯示爲表UI沒有可見行之所以稱此功能用於在屏幕上可見的行,所以請檢查表格的框架。
爲什麼?該方法僅被表視圖用於爲表提供單元格。通過從任何地方撥打電話,你想達到什麼目的? – rmaddy 2013-02-11 03:37:25
你想重新載入數據嗎? – Ares 2013-02-11 03:37:46
我試圖分解表視圖的錯誤,當我在這個方法上放置一個斷點時,它似乎只會通過啓動應用程序時,但不是它的運行時,我正在尋找一個替代品調用此方法從類似void函數的東西,所以也許我可以從那裏分解它。 – mrprogrammer 2013-02-11 04:00:20