Помощь со словарями, массивами и списками на iPhone
-
13-09-2019 - |
Вопрос
Я был бы признателен за помощь в чем-то, над чем я работаю и чего еще не делал, и у меня есть некоторые проблемы, потому что я не думаю, что точно понимаю, как это сделать.Я уверен, что то, что я хочу сделать, будет простым для большинства из вас и станет простым для меня, как только я сделаю это правильно в первый раз....в любом случае....У меня есть табличное представление, которое мне нужно заполнить двумя вещами: именем пользователя и числом с количеством элементов (имя пользователя может быть первичным ключом).В настоящее время у меня есть табличное представление, заполняемое и редактируемое с помощью массива... без проблем... Я знаю, как это сделать.
Мне нужна помощь в понимании двух частей:
прочитайте plist с этими двумя значениями в словарь и считайте их в два разных массива, которые я могу использовать со своими таблицами.
Сохраните массивы обратно в словарь, а затем обратно в список.
Я думаю, что меня больше всего смущает то, как хранить эти две вещи в словарных ключах и значениях.Я просмотрел это, но просто не «понял».
Я был бы признателен за несколько примеров короткого кода о том, как это сделать, или о лучшем способе сделать то же самое.
Как всегда, спасибо за вашу замечательную помощь....
Решение
Вы можете использовать метод NSArray writeToFile:атомарно:Чтобы сохранить данные в файл, вы можете затем использовать initWithContentOfFile для получения информации из этого файла точно так же, как вы ее выгрузили ранее.Я считаю, что если у вас есть словари в вашем массиве, вы сможете вернуть их таким образом.Вы всегда можете использовать основные данные для хранения, если обнаружите, что ваши структуры для хранения становятся сложными, и выгружать их в файл и возвращать их для воссоздания некоторых объектов становится беспорядочно.
Другие советы
Пожалуй, самый простой подход — хранить данные в виде массива словарей.Проблема заключается в том, что воссоздание массива из списка с изменяемыми листьями в лучшем случае запутано.
Но если вы можете смириться с падением производительности при замене словарей при обновлении списка вместо их изменения, это определенно может быть самым простым способом действий.
Это также имеет дополнительное преимущество, заключающееся в том, что вашему источнику данных нужно иметь дело только с одним массивом, и что весь массив будет соответствовать ключевому значению, что может еще больше упростить ваш код.