我刚刚开始一个新项目,并且正在关注以下核心数据教程:https://www.youtube.com/watch?v=zZJpsszfTHM
我似乎无法弄清楚为什么会引发此错误。我有一个名为“ entity
”的Expenses
,其中有两个attributes
:Name
和Amount
。金额最初为double
,但我将其更改为String
以按照本教程进行操作,因为double抛出了SIGABRT
错误。我根本没有使用情节提要,也没有其他代码。您是否知道为什么会导致此错误?
我多次关闭,重新启动,清理,删除了项目,现在不使用源代码控制,但是每次得到相同的结果。
import UIKit
import CoreData
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let appDelegate = UIApplication.shared.delegate as! AppDelegate
let context = appDelegate.persistentContainer.viewContext
let newExpense = NSEntityDescription.insertNewObject(forEntityName: "Expenses", into: context)
newExpense.setValue("Gym", forKey: "name")
newExpense.setValue("35", forKey: "amount")
do {
try context.save()
print("SAVED")
} catch {
}
}
}
参见此处观看视频:https://media.giphy.com/media/8OVqdFYIK0BFvmEBjL/giphy.gif
完整错误:
Thread 1: Fatal error: Unresolved error Error Domain=NSCocoaErrorDomain Code=134140 "(null)" UserInfo={sourceModel=(<NSManagedObjectModel: 0x600001d14000>) isEditable 0, entities {
Expenses = "(<NSEntityDescription: 0x600000938c60>) name Expenses, managedObjectClassName NSManagedObject, renamingIdentifier Expenses, isAbstract 0, superentity name (null), properties {\n amount = \"(<NSAttributeDescription: 0x600001037000>), name amount, isOptional 1, isTransient 0, entity Expenses, renamingIdentifier amount, va
答案 0 :(得分:1)
所以,这确实很奇怪,但是由于我的product bundle identifier
不正确,所以出现了错误。我在build settings
和packaging
中将其更改为另一个名称,然后错误消失了。