我正在按照這個介紹教程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