2010-09-27 90 views
5

我想在UITableview中構建一些簡單的倒數計時器。我注意到世界時鐘應用程序在它的每一行都有動畫時鐘。觸發NSTimer更新每個表格行的最佳方法是什麼?是否可以運行一個計時器來更新所有單元格,或者是否應該爲每行添加一個帶有內置計時器的自定義視圖子類?NSTimer for UITableviewcell類似於世界時鐘應用程序

我只是想要得到一個正確的行動。

回答

6

一個計時器就足夠了。當它觸發時,請在表格視圖中查看可見單元格並逐一更新它們。當計時器觸發時,您也可以撥打reloadData,但取決於您繪製細胞的方式,您可能會做更多的工作,而且不能使用動畫。

3

只需知道您需要安排計時器每秒發射一次以上。 NSTimer不是精密設備 - 您可以在指定的時間段之後安排下一個可用的處理器插槽。因此,1秒鐘的NSTimer不會在一秒鐘內發射,並且隨着時間的推移實際上可能累積相當多的誤差。您希望它每秒活躍幾次,查看當前時間,注意何時已經過去,並根據該事實進行UI /數據更新。