Редактировать все записи по идентификатору (Swift 4, CoreData) - PullRequest
1 голос
/ 09 мая 2019

У меня есть Int массив со значениями

Пример:

var SelectedCard = [Int] ()

[3, 1, 2]


Мне нужно отредактировать все мои записи по заказу

Я пробовал это, но сбой приложения

enter image description here

for item in 0...SelectedCard.count-1 {
        let order = SelectedCard[item]

        guard let appDelegate = UIApplication.shared.delegate as? AppDelegate else { return }
        let managedContext = appDelegate.persistentContainer.viewContext

        let fetchRequest = NSFetchRequest<NSManagedObject>(entityName: "Card")
        fetchRequest.predicate = NSPredicate(format: "order == %@", order)

        do {
            if let fetchResults = try managedContext.fetch(fetchRequest) as? [Card] {
                if fetchResults.count != 0 {
                    for index in 0...fetchResults.count-1 {
                        let managedObject = fetchResults[index]
                        managedObject.setValue("", forKey: "folderID")
                    }
                    appDelegate.saveContext()
                }
            }
        } catch {
            print(error)
        }
}
self.tableView.reloadData()

1 Ответ

2 голосов
/ 09 мая 2019

Попробуйте изменить предикат на

NSPredicate(format: "order == \(order)")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...