Остановить удаление определенной записи CoreData? - PullRequest
1 голос
/ 19 января 2012

У меня есть настройка CoreData в моем приложении, и у меня есть объект с атрибутом «isSpecial» логический.Для записей, где «isSpecial» имеет значение true, я хочу, чтобы эти записи не могли быть удалены пользователем из UITableView, в котором он отображается.

Так как же это сделать?Как я могу непосредственно увидеть, что ячейка, выбранная пользователем 'isSpecial'?

Спасибо, любая помощь очень ценится.

Ответы [ 2 ]

2 голосов
/ 19 января 2012

Предполагается, что для удаления в представлении таблицы вы используете свайп, возможно, лучше использовать tableView:canEditRowAtIndexPath: и разрешить редактирование, только если isSpecial имеет значение false. Это остановит пользователя, нажимающего кнопку удаления, и ничего не происходит

1 голос
/ 19 января 2012

Вы можете создать подкласс NSManagedObject для вашей сущности (если вы еще этого не сделали) и переопределить validateForDelete:, чтобы проверить свойство isSpecial объекта.

Вы также должны вызвать реализацию super, , как подробно описано здесь .

Если и когда вы хотите удалить его программно, вам просто нужно установить isSpecial на NO, прежде чем пытаться удалить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...