Как начать с чистого контекста управляемых объектов, не удаляя объекты в базовых данных - PullRequest
0 голосов
/ 15 декабря 2018

Вы должны простить меня, вероятно, в этом вопросе не будет кода, так как я не знаю, что бы я включил в этот вопрос, поэтому, пожалуйста, приведите мое объяснение.

Вот фон, я нахожусь в процессе создания фитнес-приложения, где пользователи могут создавать свои собственные тренировки.У меня есть упражнения, которые успешно сохраняются в тренировках, и эти тренировки также успешно сохраняются. При выполнении тренировки список упражнений, созданных пользователем для этой тренировки, предоставляется в виде таблицы, которая заполняется из основных данных.

Когда возникает проблема при попытке создать другую тренировку, она все равно отображает упражнения из предыдущих тренировок в виде таблицы, даже если они не были созданы для этой тренировки.В результате пользователь должен будет вручную удалить все старые упражнения перед добавлением новых.В ходе некоторого тестирования я обнаружил, что таблица получает информацию для заполнения только после запуска моей функции fetch (), что означает, что она, вероятно, извлекает ВСЕ упражнения из моего постоянного хранилища.Как сделать таблицу пустой каждый раз, когда я создаю новую тренировку, не жертвуя сохраненными упражнениями на месте?

Спасибо за ваше терпение, если вы сделали это так далеко.

1 Ответ

0 голосов
/ 17 декабря 2018

«Чистый» контекст управляемого объекта не имеет смысла, потому что вся цель контекста - доступ к постоянному хранилищу.Если он находится в магазине, контекст может найти его и найдет его, если вы запустите правильный выбор.

Поскольку у вас есть тренировки и упражнения, вы, вероятно, захотите иметь отношение один-ко-многим из *От 1003 * до Exercise.Каждый Workout может иметь несколько связанных Exercise объектов, и каждый Exercise будет иметь только одну тренировку.Затем вы можете получить все упражнения для тренировки, получив значение этого отношения.

Контроллер представления, который вы описываете, будет показывать все упражнения, связанные с конкретной тренировкой.Если это новый Workout, упражнений не будет, поэтому список будет пустым.По мере добавления упражнений вы будете обновлять отношения, и в списке будут отображаться только упражнения текущей тренировки.

Может оказаться полезным просмотреть Создание отношений управляемых объектов от Apple.Руководство по программированию Core Data.

...