Я стараюсь максимально упростить настройку CoreData и использую одноэлементное управление экземпляром. Однако когда я пытаюсь сохранить данные, либо моя сущность, либо NSManagedObjectContext достигают нуля. Я пробовал разные способы создания экземпляра, но безуспешно. Что мне не хватает? Спасибо!
import CoreData
class SingletonCoreData {
static let sharedInstance = SingletonCoreData()
let appDelegate = UIApplication.shared.delegate as! AppDelegate
var context: NSManagedObjectContext!
func saveData(name: String) {
let entity = NSEntityDescription.entity(forEntityName: "People", in: context). //"Unexpectedly found nil while implicitly unwrapping an Optional value"
let newName = NSManagedObject(entity: entity!, insertInto: context)
let UserDBObj = NSManagedObject()
context = appDelegate.persistentContainer.viewContext
newName.setValue(name, forKey: "name")
print("Storing Data..")
do {
try context.save()
} catch {
print("Storing data Failed")
}
}
РЕДАКТИРОВАТЬ: Обновлена попытка
func saveData(name: String) {
context = appDelegate.persistentContainer.viewContext
let entity = NSEntityDescription.entity(forEntityName: "People", in: context)
let newName = NSManagedObject(entity: entity!, insertInto: context) //nil now found here
newName.setValue(name, forKey: "name")
print("Storing Data..")
do {
try context.save()
} catch {
print("Storing data Failed")
}
}