Только что добавленный элемент в базе данных получил родительский элемент в CoreData Swift - PullRequest
0 голосов
/ 01 ноября 2018

Вот проблема: У меня есть простое приложение, которое хранит некоторые данные, у меня есть два ViewController: CategoryViewController и ItemsViewController.

Я пытаюсь отфильтровать данные, чтобы показать элементы, принадлежащие к определенной категории. Например: в категории «Купить» должны быть только пункты «Яблоки», «Апельсины», «Груши». Но он показывает только последний добавленный элемент.

func loadItems(with request: NSFetchRequest<Item> = Item.fetchRequest(), predicate: NSPredicate? = nil) {

    let categoryPredicate = NSPredicate(format: "parentCategory.name MATCHES %@", (selectedCategory?.name)!)

    if let additionalPredicate = predicate {
        request.predicate = NSCompoundPredicate(andPredicateWithSubpredicates: [categoryPredicate,
                                                                                additionalPredicate])
    } else {
        request.predicate = categoryPredicate
    }

    do {
        itemArray =  try context.fetch(request)
    } catch {
        print("error fetching data from context\(error)")
    }

    tableView.reloadData()
}

Итак, у меня есть 4 категории на данный момент, и вот что показывает sqlite, только что добавленные элементы получили родительское значение

enter image description here

1 Ответ

0 голосов
/ 01 ноября 2018

Решено! У меня были отношения "toOne". Изменил его "toMany" в DBName.xcdatamodeld, и теперь все работает

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