Основные данные не сохраняют более старые значения - PullRequest
0 голосов
/ 15 марта 2019

Когда я сохраняю в Core Data и затем пытаюсь прочитать из него, сохраняется только самое последнее сохраненное значение.
Остальные nil, когда я пытаюсь их распечатать.

Inмой .xcdatamodeld, моя сущность называется CD_Cookbook и имеет атрибут name.
Я не уверен, что делаю неправильно.

func newCookbook(cookbook: String) {
    guard let appDelegate = UIApplication.shared.delegate as? AppDelegate else { return }
    let managedContext = appDelegate.persistentContainer.viewContext

    let entity = NSEntityDescription.entity(forEntityName: "CD_Cookbook", in: managedContext)!
    let item = NSManagedObject(entity: entity, insertInto: managedContext)
    item.setValue(cookbook, forKey: "name")
    do {
        try managedContext.save()
    }
    catch {
        print("did not save cookbook name to core data", error)
    }

    let fetchRequest = NSFetchRequest<NSManagedObject>(entityName: "CD_Cookbook")
    do {
        let cd = try managedContext.fetch(fetchRequest)
        print(cd)
    }
    catch {
        print("Failed to fetch cookbook names from Core Data", error)
    }
}

1 Ответ

0 голосов
/ 15 марта 2019

Вместо:

let fetchRequest = NSFetchRequest<NSManagedObject>(entityName: "CD_Cookbook")

Сделайте это вместо:

let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "CD_Cookbook")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...