错误域 = NSCocoa错误域代码 = 1570



>我尝试使用核心数据添加相册。

相册+核心数据属性.swift:

import Foundation
import CoreData
extension Album {
@nonobjc public class func fetchRequest() -> NSFetchRequest<Album> {
return NSFetchRequest<Album>(entityName: "Album")
}
@NSManaged public var name: String
}

视图控制器.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)")
}
}
}

xcdatamodel 实体

xcdatamodel 属性

它应该有效,因为很明显名称不是零。

预期成果:

保存产品:自然

但相反,我得到了错误:

错误保存: 错误域=NSCocoa错误域代码=1570 "无法完成操作。(可可错误 1570。UserInfo={NSValidationErrorObject= (entity: Album; id: 0x6000030c64c0 ; data: { 名称 = 无; }(, NSValidationErrorKey=name, NSLocalizedDescription=无法完成操作。(可可错误 1570。

我删除了 xcdatamodel 中的实体,并创建了一个具有不同名称的新实体。在更改视图控制器中的函数并重新创建 NSManagedObject 子类后,它起作用了。

最新更新