Мое приложение iOS использует CoreData
для хранения многих вещей и NSUserDefaults
для хранения других вещей, для которых CoreData
было бы излишним.
Я собираюсь упростить это, так что потерпите меня (Примечание: для примера рассмотрим кредитные карты). Когда мое приложение загружается, оно отображает список сохраненных кредитных карт. Теперь, когда каждая карта добавлена, ей присваивается номер 1-10 (назовем его cardNum
), который остается с картой в течение всей ее жизни.
Итак, мы добавляем одну карту и присваиваем ей № 1. Добавляем еще одну карту и присваиваем ей № 2. Еще один ... # 3. Мы можем установить карту по умолчанию, которая будет выделена при запуске, нажав на нее. Он сохраняет cardNum
как cDefault
до NSUserDefaults
, чтобы отслеживать его (эффективно устанавливая карту X в качестве карты по умолчанию).
(грубый чертеж табличного вида)
//cDefault is 2
------------
1 - Card1
------------
2 - Card2 (cDefault)
------------
3 - Card3
------------
4 - Card4
------------
Допустим, мы присвоили cDefault
2, а затем на следующей неделе удалили эту карту. При удалении мне нужно автоматически назначить одну из других карт в качестве карты по умолчанию.
(грубый чертеж вида таблицы ПОСЛЕ удаления карточки 2 - обратите внимание, как cDefault
все еще установлен ...)
//cDefault is still 2
------------
1 - Card1
------------
3 - Card3
------------
4 - Card4
------------
Поэтому мой вопрос заключается в том, как при удалении установить другую карту как cDefault
(то есть, если бы это был массив, я бы, вероятно, установил для нового значения по умолчанию значение cDefault
для любой карты в indexPath.row==0
, но я я не уверен, смогу ли я сделать это, используя CoreData
)
Пожалуйста, задавайте столько вопросов, сколько вам нужно. Я пытался объяснить это в меру своих способностей, но если мне что-то неясно, спросите меня.
Заранее большое спасибо.
Джеймс