每次调用textFieldShouldReturn
方法时,我的用户都会创建一个新的表格单元格。我想在该单元格中添加一个计时器作为副标题,这样每个单元格都会有一个不同的计时器。当计时器用完时,我需要细胞自我毁灭。
我只是在这里寻找方向,您认为我应该怎么做?
答案 0 :(得分: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来更新所有countDown。