0
我想從我的初始視圖控制器發送多個對象到我的Username VC
。這是來自我的控制器的segue代碼:當我添加代碼發送第二個對象termreport
時,問題就出現了。如果我刪除termsM
和作業,它通常會發送給學生,但我還需要發送termReport
對象。我將如何解決這個問題?Swift發送多個對象到視圖控制器
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()時,你必須用參數實例化它,然後刪除以下兩行。除此之外,它效果很好。 – yzet00
很高興你覺得它有用。是的,你說得對,我應該宣佈'termData'是可變的,但在這種情況下你是對的,它可以立即用值初始化,所以這是一個更清潔的解決方案。 –