2016-02-19 32 views

回答

3

嘗試使用這種委託方法,當調用此方法時,文本已經在單元格中,您可以測試它並添加或刪除附件。從該文檔:

討論 表視圖發送它使用細胞來繪製一排,從而允許委託其顯示之前定製單元格對象之前這個消息給它的代理。此方法給出了代表一個機會來覆蓋基於狀態的性質由表視圖先前設置,例如選擇和背景顏色。委託返回後,表視圖動畫的行,只有當他們在或滑出只設置的α和框架屬性,然後。

func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) { 

// check text and do something 
} 
+0

由於裏面有很多!像魅力一樣工作! – gohar94

0

您必須在返回單元格之前在cellForRowAtIndexPath中執行檢查並更新同一功能中的附件視圖。

由於現時的tableView沒有這樣的情況下沒有完成加載

0

可能是,你可以接近它這個樣子,

func tableView(_tableView: UITableView, 
       cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell{ 

    ///Cell Creation Code 


    if indexPath.row == data.count{ 
     //call method asynchronously to indicate table finished loading 
    } 

    //return cell 
} 

但同樣這取決於你多少行的數據...

1

UITableView只加載在屏幕上可見的行,這是一個很棒的功能,因爲它不需要一次生成所有的行,這意味着更低的內存使用率和更好的性能。因爲這個原因,沒有UITableView完成加載的概念,因爲它從來沒有這樣做。想象一下,如果你有20行,只有8行顯示在屏幕上,用戶可以向上或向下滾動,導致新行被顯示,舊行被回收。正如其他人所說,做這個的地方是在cellForRowAtIndexPath設置單元格的時候。

0

可以asyncrhonously調用該方法。

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 

    if indexPath.row == data.count-1{ 
    // Declare your cells here 
    } 

} 
相關問題