Как я создаю много временных объектов и затем сохраняю только одни использующие Базовые Данные?

" % ~f0"

" % ~dpnx0"

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

10
задан user174448 25 October 2009 в 03:24
поделиться

2 ответа

Вы должны использовать свой контекст для каждого объекта. Использование отдельного контекста управляемого объекта позволяет работать следующим образом. Когда пользователь выбирает свой любимый объект, вы просто отбрасываете контексты, связанные с оставшимися объектами результата. Нет необходимости объединять изменения и т. Д. По сути, это компромисс. В конечном итоге вы управляете (создаете / отбрасываете) несколькими контекстами, но затем легко достигаете своей цели. В противном случае вы все равно можете сделать это, используя только один контекст. Однако вам необходимо явно вставить или удалить каждый объект, как показано в следующих фрагментах кода.

Попробуйте это. Только для избранного объекта, который вы хотите сохранить, выполните следующие действия:

[managedObjectContext insertObject:theFavorite];

Для каждого из других объектов результата сделайте это вместо:

[managedObjectContext deleteObject:aResult];

затем сохраните как обычно

NSError *error = nil
if (![managedObjectContext save:&error]) {
   // Handle error

}

Это сохранит ТОЛЬКО выбранный избранный объект.

5
ответ дан 4 December 2019 в 00:25
поделиться

Создайте объекты результата, которые не являются подклассами NSManagedObject. Когда пользователь выберет один, создайте единственный управляемый экземпляр и сохраните его.

3
ответ дан 4 December 2019 в 00:25
поделиться