Измените логическое значение действия смахивания iOS - PullRequest
0 голосов
/ 08 июня 2018

enter image description here

У меня есть таблица, отображающая элементы в списке пожеланий клиентов.Они могут переместить желаемый элемент из списка в свою коллекцию с помощью кнопки «Переместить в коллекцию».Эта кнопка является логическим значением.

Как изменить это значение с истинного на ложное?

Вот мой код Swift:

let moveAction = UITableViewRowAction(style: UITableViewRowActionStyle.default, title: "Move to Collection",handler: { (action, indexPath) -> Void in
    if let appDelegate = (UIApplication.shared.delegate as? AppDelegate) {
        //Change the boolean of the collection to false.
        let context = appDelegate.persistentContainer.viewContext
        let friendToDelete = self.fetchResultController.object(at: indexPath)
        context.delete(friendToDelete)

        appDelegate.saveContext()
    }
})

1 Ответ

0 голосов
/ 27 июня 2018
let moveAction = UITableViewRowAction(style: UITableViewRowActionStyle.default, title: "Move to Collection",handler: { (action, indexPath) -> Void in
if let appDelegate = (UIApplication.shared.delegate as? AppDelegate) {

let context = appDelegate.persistentContainer.viewContext
let managedObject = self.fetchResultController.object(at: indexPath)

// Change the boolean of the collection to false.
managedObject.setValue(false, forKey: "yourKey") // managedObject.wish = false
//...

        if context.hasChanges {
            do {
                try context.save()
            } catch {
                print(error.localizedDescription)
            }
      }
}
})

Итак, получите ваш управляемый объект из indexPath.И дать новые значения для управляемого объекта, вот и все.Просто сохраните изменения.Дайте мне знать, если это работает.

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