我尝试使用Core Data添加相册。
相册+ CoreDataProperties.swift:
import Foundation
import CoreData
extension Album {
@nonobjc public class func fetchRequest() -> NSFetchRequest<Album> {
return NSFetchRequest<Album>(entityName: "Album")
}
@NSManaged public var name: String
}
ViewController.swift
private func saveAlbum(){
let appDelegate:AppDelegate = UIApplication.shared.delegate as! AppDelegate
let context = appDelegate.persistentContainer.viewContext
let album = Album(context:context)
album!.name = "Nature"
if album?.name != nil {
do {
try context.save()
print("Saved Product: \(String(describing: album!.name))")
dismiss(animated: true, completion: nil)
}catch let error {
print("Error Saving: \(error)")
}
}
}
应该工作,因为它的名字显然不是nil。
预期结果:
保存的产品:自然
但是我得到了错误:
错误保存:错误域= NSCocoaErrorDomain代码= 1570“操作无法完成。(可可错误1570。)” UserInfo = {NSValidationErrorObject =(实体:相册; ID:0x6000030c64c0;数据:{ 名称=零; }),NSValidationErrorKey =名称,NSLocalizedDescription =操作无法完成。 (可可错误1570。)}
答案 0 :(得分:0)
我删除了xcdatamodel中的实体,并用不同的名称创建了一个新实体。在视图控制器中更改了功能并重新创建了NSManagedObject子类后,它就起作用了。