0

每次textFieldShouldReturn调用方法时,我的用户都会创建一个新的表格单元格。我想在该单元格中添加一个计时器作为字幕,以便每个单元格都有不同的计时器。当计时器用完时,我需要细胞自我毁灭。

我只是在这里寻找方向,你认为我应该怎么做?

4

1 回答 1

0

一种简单的方法是创建一个 CountDown 类和一个 CountDownDelegate 协议。

CountDown 类将响应处理计时器并在倒计时达到 0 时调用委托上的方法。countDownDidReachesZero:(CountDown *)countDown

然后您的 UIViewController(或 UITableViewController)将倒计时列表保存在一个数组中并符合 CountDownDelegate。

- (void)countDownDidReachesZero:(CountDown *)countDown
{
NSMutableArray *array = [self.countdowns mutableCopy];
[array removeObject:countDown];
self.countdowns = array; //if property is set with copy flag
[self.tableView reloadData]; // get index and remove cell with effect would be better
}

- (BOOL)textFieldShouldReturn:(UITextField*)textField
{
NSMutableArray *array = [self.countdowns mutableCopy];
[array addObject:[[CountDown alloc] init]];
self.countdowns = array;
[self.tableView reloadData]; //or add the cell with effect
return YES;
}

要更新 detailLabel.text,您也可以使用 CountDownDelegate 协议进行更新。一件好事应该是只有一个静态 NSTimer 更新所有倒计时。

于 2013-10-15T13:51:04.560 回答