私はこの紹介チュートリアルをthis tutorialに従っており、Core Dataを完全に新しくしています。NSEntityDescription.insertNewObject関数Swiftでクラッシュを引き起こす3
ここでは、エラーを生成するクラスです(ただし、エラーは、sigabrtを使用してAppDelegateの最初の行に送られます)。「let newUser」で始まる行は、コメントしたときにエラーが消えるためです誰もが上記のYouTubeの動画のコメント欄でこのエラーについて投稿していないのでアウト。
@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
まだ、私はこれはスウィフト3の変化による誤差であると仮定し(原因別のエラーが発生しましたコメントに記載されているスイフト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