@orangerange (orange range)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

NCMBからとってきたデータが表示されません

解決したいこと

初心者です。
XcodeとNCMBを用いています。
前の画面でボタンを押したら画面遷移すると同時に、NCMBのクラス(praise)に保存した文(word)がランダムでtextviewに表示されるようにしたいです。

しかし、ボタンを押すと遷移はできるのですが、NCMBから取ってきたデータがtextviewに表示されません。
解決方法教えていただけると幸いです。

発生している問題・エラー

NCMBから取ってきたデータがtextviewに表示されません。

スクリーンショット 2021-09-25 1.08.17.png
全体のコードです

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
                if let word = selectedPraise?.object(forKey: "word") as? String {
                    praiseTextView.text = word
                }
            }
            //データを渡す
        })
    }


    @IBAction func nextButton(){
        relaxTag = "bb"
        ud.set(relaxTag, forKey: "Tag")
        performSegue(withIdentifier: "showCell", sender: nil)
    }

    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        //        次の画面を取得(次の画面のオブジェクトを取得)
        if segue.identifier == "showCell"{
            //            ④
            let relaxViewController  = segue.destination as! RelaxViewController
            print(relaxTag)

            relaxViewController.relaxTag = relaxTag

        }
    }
}



自分で試したこと

最初はUnexpectedly found nil while implicitly unwrapping an Optional valueのエラーが出ていてそこはなんとか解決できたのですが、その後が内容が表示されないことが解決できませんでした。
あまりまだ構造について理解できていないので困っています。

0 likes

No Answers yet.

Your answer might help someone💌