2017-02-09 57 views
4

我有一個Swift類從UITableViewController延伸。它有這個功能不能調用非函數類型的值:UITableView

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {...} 

還有的需要,我需要在一個地方編程調用這個函數,當我寫

self.tableView(tableView, cellForRowAt: 1) 
  • 我得到的,不能調用非功能型的價值'UITableView的!'

如何以編程方式調用此函數?

回答

5

你不需要(你不應該)直接調用該委託/數據源方法。的UITableView有一個FUNC:

tableView.cellForRow(at: indexPath) 

根據您行只需創建索引路徑,如:

let indexPath = IndexPath(row: 1, section: 0) 
1

cellForRowAt需要一個IndexPath,不是Int

func someFunc(indexPath: IndexPath) { 
    let cell = tableView(tableView, cellForRowAt: indexPath) 
    print(cell) 
} 
+0

同意,這是一個溝通不暢的問題。 – prabodhprakash

相關問題