UITableViewCell上的倒计时计时器,UITableView的滚动/滞后问题

时间:2015-03-23 06:16:05

标签: ios iphone uitableview cocoa-touch

根据我的标题,我有Table视图,显示每行的彩票,每张票都有它的详细视图。门票有自己的抽奖时间。 动态故障单显示在表视图上,现在考虑在桌面上显示10到15张故障单。第一次一切都运作良好。

但是当我向上和向下滚动表格5到6次或详细说明票证5到6次然后表格挂起。 问题只是NSTimer,我每秒重复计时器。当我被删除计时器然后表没有被绞死。 我还尝试通过以下代码来删除单元格的可重用性,但是没有工作。

NSString *CellIdentifier = [NSString stringWithFormat:@"S%1dR%1d",indexPath.section,indexPath.row]; // I know it's bad for us. :(

在创建isValid之前,我还niltimer 任何人都有这样的问题,或者有人能给我建议解决我的问题吗?

1 个答案:

答案 0 :(得分:1)

花了11个小时后,我找到了解决方案。早些时候我在做什么?我使用repeats:YES创建了每个行/票的计时器,因此计时器的方法将每1分钟连续调用一次。多数民众赞成问题发生了。

我为每一行删除了每个计时器的逻辑,并将单个计时器放在viewWillAppear (或任何你想放的)方法应用repeats:YES并使用我的下面的逻辑计时器的方法

- (void) calculateTimer
{
    // Here count down timer is only for visible rows not for each rows.

    NSArray *listOFCurrentCell = [myTableView visibleCells]; // Returns the table cells that are visible in the table view.
    for(customCell *theMycustomCell in listOFCurrentCell)
    {
        => Here I put logic of count down timer
        => It's will be only for those row that display currently 
    }
}

希望以上逻辑能够用于那些像我一样受到同样问题的人。