错误域= NSCocoaErrorDomain代码= 1570

时间:2019-09-16 02:14:05

标签: ios swift core-data

我尝试使用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)")
        }
    }
}

xcdatamodel Entity

xcdatamodel Attribute

应该工作,因为它的名字显然不是nil。

预期结果:

  

保存的产品:自然

但是我得到了错误:

  

错误保存:错误域= NSCocoaErrorDomain代码= 1570“操作无法完成。(可可错误1570。)” UserInfo = {NSValidationErrorObject =(实体:相册; ID:0x6000030c64c0;数据:{       名称=零;   }),NSValidationErrorKey =名称,NSLocalizedDescription =操作无法完成。 (可可错误1570。)}

1 个答案:

答案 0 :(得分:0)

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