2013-10-15 3 views
0

Мои пользователи создают новую ячейку таблицы каждый раз, когда вызывается метод textFieldShouldReturn. Я хочу добавить таймер в эту ячейку в качестве субтитров, чтобы каждая ячейка имела другой таймер. И когда таймер заканчивается, мне нужна клетка, чтобы уничтожить себя.Таймер в ячейке UITableView

Я только ищу маршруты здесь, как вы думаете, что я должен делать?

+4

Сотовый - это вид, а не место для хранения данных, таймеров и т. Д. В вашей модели должна быть модель, которая должна подавать представление, ячейку таблицы в вашем случае. – rckoenes

+0

Вы можете отображать таймер на этикетке, и вам нужно перезагружать таблицу каждую секунду. –

+0

Просьба пояснить, что вы подразумеваете под «добавлением таймера в эту ячейку в качестве субтитров». Вы хотите показать, сколько времени у них осталось, прежде чем оно уничтожит себя? – RyanR

ответ

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.

Смежные вопросы