2012-02-23 2 views
1
CustomManagedObject *newObject = (CustomManagedObject *)[NSEntityDescription insertNewObjectForEntityForName:@"Substation" inManagedObjectContext:[[DatabaseHelper instance] context]]; 

Я делаю новый объект, используя линию выше. Однако иногда я не хочу сохранять этот объект в постоянном хранилище данных, я просто хочу удалить его из контекста. Есть ли какой-то метод, например removeObject: object fromContext: context?Основные данные iPhone - Как удалить NSManagedObject из контекста?

ответ

1

Вы проверили документацию? Метод называется deleteObject:

[[[DatabaseHelper instance] context] deleteObject:newObject]; 
+0

'Определяет объект, который должен быть удален из его постоянного хранилища, когда изменения committed.' Он хочет, чтобы удалить объект из контекста, но не пометить его для удаления. Это то, что 'deleteObject:' делает –

+0

@itsthejb. Вы пропустили следующий абзац: «Если объект еще не сохранен в постоянном хранилище, он просто удаляется из получателя». –

+0

Хорошо, правда. В этом случае я бы порекомендовал использовать временный контекст «нуля». Проблема с созданием объектов в основном контексте заключается в том, что они будут сохранены в хранилище, если вы не сможете тщательно сбалансировать создание объектов и их удаление. К сожалению, «NSMOC» не имеет никакой функции * nune –

Смежные вопросы