前提・実現したいこと
XcodeでNCMBを用いています。
前の画面でボタンを押したら画面遷移すると同時に、NCMBのクラス(praise)に保存した文(word)がランダムでtextviewに表示されるようにしたいです。
しかし、ボタンを押すと遷移はできるのですが、ずっと読み込んでいて、しまいにはエラーが発生します。selectedPraiseにアンダーラインが表示されています。
Tagをつけています。
発生している問題・エラーメッセージ
Unexpectedly found nil while implicitly unwrapping an Optional value
該当のソースコード
praiseTextView.text = selectedPraise.object(forKey: "word")as? String
selectedPraiseに赤でアンダーラインが引かれます。
試したこと・前の画面のコードの一部
調べても有効な対処法が出てこず非常に困っています。
前の画面でこのコードを書いています。
@IBAction func nextButton(){ praiseTag = "aa" ud.set(praiseTag, forKey: "Tag") //画面遷移をする performSegue(withIdentifier: "showWord", sender: nil)
補足情報(FW/ツールのバージョンなど)
このページの全体です。
import UIKit import NCMB import KRProgressHUD class PoemViewController: UIViewController { @IBOutlet var praiseTextView: UITextView! var praiseArray = [NCMBObject]() var praiseTag = "" var relaxTag = "" var selectedPraise: NCMBObject! let ud = UserDefaults.standard override func viewDidLoad() { super.viewDidLoad() loadData() // Do any additional setup after loading the view. } func loadData(){ KRProgressHUD.show() let query = NCMBQuery(className: "praise") query?.whereKey("Tag", equalTo: praiseTag) query?.findObjectsInBackground({[self] (results, error) in if error != nil{ print("error") } else { for i in results as! [NCMBObject]{ praiseArray .append(i) } KRProgressHUD.dismiss() selectedPraise = praiseArray.randomElement() praiseTextView.text = selectedPraise.object(forKey: "word")as? String } //データを渡す }) }
よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/23 15:39
退会済みユーザー
2021/09/23 16:02
2021/09/23 17:01
退会済みユーザー
2021/09/23 18:55
退会済みユーザー
2021/09/23 18:57
2021/09/24 03:38
退会済みユーザー
2021/09/24 06:54
退会済みユーザー
2021/09/24 06:58
2021/09/24 15:45
退会済みユーザー
2021/09/24 16:34