Приложение, которое я создаю, запускается с представлением таблицы. Я могу сразу добавить новую информацию, сохранить ее в списке и перезагрузить представление. Новая ячейка и ее данные отображаются внизу. Однако, когда я перезапускаю приложение, оно переупорядочивает порядок, в котором я их первоначально видел.
Названия ячейки хранятся в переменной с именем countdowns
, а описания - в countdown_info
. Затем я использую эти переменные и сохраняю их в виде словаря в списке.
Вот пример, который каждый раз дает один и тот же результат. Ниже приведено табличное представление, которое выглядело бы, если бы я только что добавил 4 новые ячейки:
**[CODE 1]**
Countdown 1
Description 1
Countdown 2
Description 2
Countdown 3
Description 3
Countdown 4
Description 4
Однако, когда приложение перезапускается / перестраивается, приложение открывается следующим образом:
**[View After Re-Run]**
Countdown 4
Description 4
Countdown 1
Description 1
Countdown 3
Description 3
Countdown 2
Description 2
Некоторые NSLog, которые я добавил, показывают, что таблица из файла сохраняется как [Code 1], и что indexPath.row в табличном представлении увеличивается с 0-3, но по какой-то причине представление реорганизуется с другим шаблоном .
В чем причина этого? Спасибо!
Код из cellRowAtIndexPath
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"Cell"] autorelease];
}
ClockworkAppDelegate *dataCenter = (ClockworkAppDelegate *)[[UIApplication sharedApplication] delegate];
cell.textLabel.text = [[dataCenter countdowns] objectAtIndex:indexPath.row];
cell.detailTextLabel.text = [[dataCenter countdown_info] objectAtIndex:indexPath.row];
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
return cell;
}