我无法将数据发送到第二个视图控制器。更具体地说,我解析一个网站,并将特定的元素放入一个对象中。从那里我试图将响应发送到另一个视图控制器。我在应用程序中已经做了一次,但是我不确定这次我做错了什么。Swift将数据通过Segue发送到ViewController问题
VC1:
override func prepare(for segue: UIStoryboardSegue, sender: Any!) {
guard let assignments = sender as AnyObject as? [Assignment],
let sendMe = segue.destination as? ClassTableViewController
else { return }
sendMe.myAssignments = assignments
}
let classResponse = try ClassParser(innerHTML)
self.performSegue(withIdentifier: "ShowClass", sender: classResponse.classAssignments) //segue to ClassTableViewController
ClassTableViewController使用该对象来显示详细信息。但是,错误不断以unexpectedly found nil while unwrapping an Optional value.
的形式返回,这意味着对象内容未被正确发送。 ClassTableViewController:
class ClassTableViewController: HeaderViewController {
@IBOutlet weak var classTableView: UITableView!
var myAssignments: [Assignment]!
override func viewDidLoad() {
}
}
extension ClassTableViewController: UITableViewDataSource, UITableViewDelegate {
func numberOfSections(in tableView: UITableView) -> Int {
// #warning Incomplete implementation, return the number of sections
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return myAssignments.count //ERROR HERE. The variable is empty
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "ClassViewCell", for: indexPath)// as! NineWeekCellTableViewCell
cell.textLabel?.text = myAssignments[indexPath.row].name
cell.detailTextLabel?.text = myAssignments[indexPath.row].grade
return cell
}
}
您的错误不会发生在这些代码行中。请发布错误发生的代码 –
@FangmingNing好吧,我添加了第二个控制器上面 – yzet00