NCMBからとってきたデータが表示されません
解決したいこと
初心者です。
XcodeとNCMBを用いています。
前の画面でボタンを押したら画面遷移すると同時に、NCMBのクラス(praise)に保存した文(word)がランダムでtextviewに表示されるようにしたいです。
しかし、ボタンを押すと遷移はできるのですが、NCMBから取ってきたデータがtextviewに表示されません。
解決方法教えていただけると幸いです。
発生している問題・エラー
NCMBから取ってきたデータがtextviewに表示されません。
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