Я много читал о Core Data в разделе разработчиков Apple и здесь о переполнении стека, и я хотел задать несколько вопросов, прежде чем начать пытаться внедрить их в свое приложение, которое в настоящее время работает только с запрограммированными данными.
Идея для приложения: пользователь - гонщик. Он ездит по разным трассам. Каждая цепь имеет несколько именованных кривых, которые проходят с определенной скоростью и с определенной эффективностью.
Таким образом, приложение должно хранить схемы, количество кривых для каждой цепи и множество (например, 200) проходов через отдельные кривые, сохраняя максимальную скорость и эффективность (например, строка «выдающиеся», «хорошие», «плохие»). Проходы используются в приложении в очереди, где последний означает «первым делом», как только вы достигнете 200 прохождений, чтобы улучшить статистические данные со временем и опыт водителя.
Я создал сущности с соответствующими параметрами и отношениями.
Теперь для начала я бы хотел определить пример схемы, которая создается при первом запуске приложения и затем загружается с измененными или введенными пользователем данными позже.
1 - я полагаю, поскольку объем данных невелик, я мог бы сгенерировать данные при первом запуске, сохранить их в основных данных, а затем при каждом запуске приложения каким-то образом проверять, есть ли основные данные, и основаны на этом либо создай новый или используй текущий. Я читал о хранении данных в plist и импорте их через XML и прочее, но мне не нужно делать это правильно? Я могу создать, сохранить и затем проверить, присутствуют ли какие-либо данные, чтобы узнать, является ли это первым запуском приложения или нет?
2 - я не совсем уверен, как сохранить очередь в основных данных. На данный момент я спроектировал это так, чтобы очередь для каждой кривой была составлена из сущностей Drivethrough, имеющих отношение один к одному с кривыми с параметром, называемым index, так что я знаю, какой из проходов был первым, а какой последним. Я не уверен тогда, как я буду реализовывать возможности очереди удаления первого диска через. Будет ли я вынужден загрузить все данные, обработать их в очереди, а затем сохранить все данные в основных данных? Или он примет какое-то удаление первого диска и пересчитает индексы?
3 - могу ли я сказать, что все мои данные должны загружаться в мои контроллеры представления в "viewWillAppear"? И сохранить их сразу после того, как пользователь нажмет кнопку «Сохранить» или «Ввод» для каждого диска через?
Я не прошу код, я просто хотел бы, чтобы кто-нибудь сказал мне, если это вообще хороший подход, или если вы сделаете это диаметрально иначе.
Спасибо.