0
初期ビューコントローラから複数のオブジェクトをUsername VC
に送信しようとしています。ここに私のコントローラからのセグのコードがあります:問題は、2番目のオブジェクトを送信するためにコードに追加したときです。termreport
termsM
とその課題を削除すると、通常は生徒が送信されますが、termReport
オブジェクトも送信する必要があります。どうすればこの問題を解決できますか?複数のオブジェクトをビューコントローラに送信する
ViewControler:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
guard let students = sender as AnyObject as? [Student]
else { return }
guard let termsM = sender as AnyObject as? [TermReport] //How would I send both objects?
else { return }
if let secondVC = segue.destination as? UsernameVC {
secondVC.students = students
secondVC.userWebView = webView
secondVC.terms = termsM // not sending
}
let gradeResponse = try Parser(innerHTML)
self.performSegue(withIdentifier: "ShowStudents", sender: gradeResponse.students)
self.performSegue(withIdentifier: "ShowStudents", sender: gradeResponse.termReports) //how would I send both variables?
UsernameVC:
var terms: [TermReport]!
override func viewDidLoad() {
print("TERM \(terms[0].grades[3])")//returns found nil optional ERROR
}
非常にクールな方法を!本当にうまくいった。ありがとう。ただし、let termData = TermData()を割り当てるときは、パラメータでインスタンス化してから次の2行を削除する必要があります。それ以外は、素晴らしい作品です。 – yzet00
うれしいことがわかりました。うん、そうです、私は 'termData'を可変であると宣言していたはずですが、この場合、あなたは正しいです、それはすぐに値で初期化することができます。 –