2016-06-17 80 views
2

我試圖覆蓋tableView單元格的方法reloadRowAtIndexPath如何覆蓋reloadRowsAtIndexPath?

我想要做的一樣,當你重寫cellForRowAtIndexPath爲:

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell 
    { 
     if(isUserTalking(indexPath)) 
     { 
      return userMessageCell(indexPath) 
     } 
     else 
     { 
      if(isNotUserFirstMessage(indexPath)) 
      { 
       return notUserFirstMessageCell(indexPath) 
      } 
      else 
      { 
       return notUserNotFirstMessageCell(indexPath) 
      } 
     } 

    } 

以這種方式:

func tableView(tableView: UITableView, reloadRowsAtIndexPaths indexPath: NSIndexPath) -> UITableViewCell 
    { 
     print("job") 
      if(isNotUserFirstMessage(indexPath)) 
      { 
       return notUserFirstMessageCell(indexPath, showImage: false) 
      } 
      else 
      { 
       return notUserNotFirstMessageCell(indexPath, showImage: false) 
      } 
    } 

但是當我使用self.myTable.reloadRowsAtIndexPath它永遠不會調用重寫的版本。

你知道如何解決它嗎?

回答

0

reloadRowsAtIndexPaths其實不是這個意思。您可能想使用 tableView(_:willDisplayCell:forRowAtIndexPath:)代替。例如:

func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) { 
    print("job") 
    if isNotUserFirstMessage(indexPath) { 
     configureNotUserFirstMessageCell(cell, showImage: false) 
    } else { 
     configureNotUserNotFirstMessageCell(cell, showImage: false) 
    } 
} 
+0

好吧我現在就試一試,但我們如何在特定行上調用此方法? –

+0

只需將其添加到您的表格視圖委託,它將在顯示單元格時自動調用。 –

+0

在這裏,當有一個插入我想檢查先前插入的單元格,然後顯示其圖像。你認爲它會起作用嗎? –