私は自分自身でこれを理解することができません。私はコアデータに格納されているいくつかの設定を取得しており、これらの設定をいくつかのUITextFieldに出力します。これは同じプロジェクトの別のVCでうまく動作しますが、ここではオプション値をアンラッピングしている間に "予期せぬことにnilが見つかりました"ということになります。Swift 3.0 - Core Data/Unexpected found nil
I XCode値があることがわかりますか?なぜ私はこのクラッシュを受けるのですか? 添付のスクリーンショットをご覧ください。
はこれは私が今までしています現在のコードです。 XCodeの
func getSettingsFromCoreData() {
let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
let request = NSFetchRequest<NSFetchRequestResult>(entityName: "DeathMatchSettings")
do{
let results = try context.fetch(request)
let managedObject = results as! [NSManagedObject]
let getDMSettings = managedObject[0]
guard let playerOne = getDMSettings.value(forKey: "playerOne") else {
return
}
print(playerOne)
txtPlayerOne.text = String(describing: playerOne)
}catch{
fatalError("Error in retreiving settings from CoreData")
}
}
ありがとうございました!しかし、私はまだ問題を解決することができません。私は上記のコードに従って変更しました。私はなぜこの値がゼロであるのか理解できません。それではいけませんか?そして値はコンソールにうまく表示されます。 – Frank
オプション値についてはいくつかのドキュメントをお読みください。これはSwiftの機能番号1です。あなたの値がゼロであることを自動的には意味しません。それはゼロかもしれません。だからこそ、あなたの目的に合わせて操作するためには、オプションの値をアンラップする必要があります。 – pedrouan
私はたくさんの読書をしましたが、それでも私はこれを理解することができません。奇妙な部分は、まったく同じコードが別のVCで正常に動作していることです。 – Frank