2016-12-20 12 views
0

Я разрабатываю новый экран в своем приложении, и я хотел бы проконсультироваться с вами, как это сделать. Новый экран будет статическим контрольным списком, и я хочу, чтобы пользователь проверил «шаг за шагом» (т. Е. По очереди), что он завершил этот шаг.Сохранение статуса проверки toDo list

У меня есть 2 вид регулятора VC1 = тема статического список VC2 = ступенчатый статический список, связанный с каждым шагом -> вы щелкнули VC1.Theme1 и затем отображает VC2.step1,2,3, и т.д .. в статическом представлении таблицы.

То, что я хочу сделать, это: 1. шагов проверочных в VC2 и «держать их в памяти» 2. когда все шаги в VC2 проверяются обновляются статус темы в VC1

Если для 2 . Это простой расчет. Мне интересно, какой будет лучший способ сохранить статус завершения шага. Я колеблюсь между базой данных (пользовательской) или памятью телефона ... У меня недостаточно опыта, чтобы узнать, есть ли другие варианты или какая лучшая практика.

Любые советы?

ответ

-1

Я считаю, что самый простой способ - использовать UserDefaults.

Обычно я использую его для простого хранения данных. Для начала я думаю, что это хорошее решение для вас. Например, вы можете сохранить массив Bools, который указывает, проверены ли шаги или нет. Или сохраните счетчик (int), который укажет количество проверенных шагов и сравните его с суммой шагов в VC2.

Как написать пользователь по умолчанию:

let defaults = UserDefaults.standard() 
defaults.set(yourValue, forKey: "valueKey") 

И прочитал:

defaults.value(forKey: "valueKey") 

Надеется, что это помогает.

+0

Спасибо @Tung Fam, это очень помогает. Я уже храню некоторые данные в userDefaults после вызова моей БД для быстрого доступа к ней. Мне просто интересно, как этот метод хранения хорош, так как я не могу сделать статистику на нем (на стороне администратора) и не хранить данные в случае восстановления системы, правильно? – Nati

+0

@Nati, если вам нужно получить эти данные на своих серверах, тогда, возможно, лучше использовать firebase. так как для хранения данных вы можете попытаться использовать хранилище iCloud. посмотрите здесь: https://developer.apple.com/reference/foundation/nsubiquitouskeyvaluestore –

+0

Спасибо большое, я не знал этой возможности! звучит как хорошее решение !!! Спасибо, хорошего дня! – Nati