我正在按照这个介绍教程this tutorial,并且对于Core Data来说是全新的。NSEntityDescription.insertNewObject函数在Swift中导致崩溃3
下面是产生错误的类(但是错误会把我带到一个sigabrt的第一行AppDelegate,开始“let newUser”的行似乎会产生错误,因为当我评论它时错误消失出。
@IBAction func btnSave(){
let appDel:AppDelegate = (UIApplication.shared().delegate as! AppDelegate)
let context:NSManagedObjectContext = appDel.persistentContainer.viewContext
let newUser = NSEntityDescription.insertNewObject(forEntityName: "Users", into: context) as NSManagedObject
do {
try context.save()
} catch {}
print("Object Saved.")
}
This problem looks similar, but the answer is confusing to me and seems a bit overcomplicated
由于没有人张贴了关于上述的Youtube视频的注释部分还没有这个错误,我认为这是一个错误是由于斯威夫特3的变化(存在,是由于另一个错误到Swift 2中的变化,这在备注中有记录)
任何帮助,非常感谢!
frame #0: 0x00000001067cbf06 libsystem_kernel.dylib`__pthread_kill + 10
frame #1: 0x00000001068ec4ec libsystem_pthread.dylib`pthread_kill + 90
frame #2: 0x000000010651e0b3 libsystem_c.dylib`abort + 129
frame #3: 0x00000001067ea43a libc++abi.dylib`abort_message + 266
frame #4: 0x000000010680ea9f libc++abi.dylib`default_terminate_handler() + 267
frame #5: 0x00000001055be59f libobjc.A.dylib`_objc_terminate() + 103
frame #6: 0x000000010680bc09 libc++abi.dylib`std::__terminate(void (*)()) + 8
frame #7: 0x000000010680b894 libc++abi.dylib`__cxa_rethrow + 99
frame #8: 0x00000001055be4b7 libobjc.A.dylib`objc_exception_rethrow + 40
frame #9: 0x00000001030f7bf1 CoreFoundation`CFRunLoopRunSpecific + 433
frame #10: 0x000000010850ea48 GraphicsServices`GSEventRunModal + 161
frame #11: 0x0000000103b30e8b UIKit`UIApplicationMain + 159
* frame #12: 0x0000000102b5dc6f CoreDataYoutube`main + 111 at AppDelegate.swift:5
frame #13: 0x00000001064726bd libdyld.dylib`start + 1
您显示错误读数的无用部分。此错误来自抛出的ObjC异常,所以应该在您发布的用于描述错误的堆栈跟踪上方有控制台输出。 – rickster
在Swift 3中它是'UIApplication.shared.delegate'(没有括号) – vadian
@vadian我刚刚更新到Xcode 8.1,我被要求做你提到的改变..但是,更新使我以前的解决方案(列为“答案“)现在不再起作用了,我不知道为什么...... – PlateReverb