Сохраняйте галочки с модальным Segue

Я новичок в x-code, и мне было интересно: возможно ли сохранить галочки, хотя вы проходите модальный переход?

Я проверю некоторые поля в моем списке:

Но когда я нажимаю "Готово", а затем возвращаюсь к экрану с модальным переходом, это выглядит так:

Можно ли сделать так, чтобы эти галочки остались, хотя я меняю представления модально?

У меня есть этот код для создания галочек:

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    // Return the number of sections.
    return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    // Return the number of rows in the section.
    return [self.toDoItems count];
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"ListPrototypeCell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
    NewItem *toDoItem = [self.toDoItems objectAtIndex:indexPath.row];
    cell.textLabel.text = toDoItem.itemName;
    if (toDoItem.completed) {
        cell.accessoryType = UITableViewCellAccessoryCheckmark;
    } else {
        cell.accessoryType = UITableViewCellAccessoryNone;
    }
    return cell;
}

#pragma mark - Table view delegate

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    [tableView deselectRowAtIndexPath:indexPath animated:NO];
    NewItem *tappedItem = [self.toDoItems objectAtIndex:indexPath.row];
    tappedItem.completed = !tappedItem.completed;
    [tableView reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationNone];
}

1 ответ

Решение

Когда вы открываете или закрываете контроллер представления, этот контроллер просмотра исчезает. Однако у вас есть несколько опций, чтобы запомнить состояние, в котором находился контроллер представления. Самый простой способ - это, вероятно, сохранить глобальную переменную, возможно, NSArray, чтобы запомнить проверенные позиции. Затем, когда вы загружаете этот контроллер представления, вы можете "проверить" любые элементы, которые существуют в этом NSArray,

Обратите внимание, что этот метод будет работать только в течение срока службы приложения. Если они закроют приложение, оно исчезнет. Если вы хотите сохранить "проверенные" элементы в следующий раз, когда они открывают приложение, вам нужно будет сохранить их в NSUserDefaults - данные там доступны, пока приложение не будет удалено с телефона.

Другие вопросы по тегам