[英]Seguing data from one UITableViewController to another UITableViewController via performSelector:withObject:
[英]How to pass Data from a UITableViewController to another UITableViewController? -iOS & Swift 2
假设设置是
Navigation Controller
-> GradLevelUITableViewController
> DegreeUITableViewController
> View Controller
哪里:
GradLevelUITableViewController
包含3个单元格,即Undergrad
, Grad
, PostGrad
。 DegreeUITableViewController
Colleges
显示为部分,将Degrees
显示为行。 View Controller
包含可滚动的TextView
以获取更多信息。 我的问题是,如何从GradLevelUITableViewController
将数据(特别是包含有关所选degree
信息的列表,稍后再传递至TextView
和选择的内容 )到DegreeUITableViewController
并告诉DegreeUITableViewController
我单击了三个单元格之一,显示其对应的Colleges
和Degrees
(例如,如果Undergrad
被窃听,只显示Colleges
和Degrees
的Undergrad
)。
我是iOS和Swift编程的新手,我找不到关于使用Swift在View Controller之间传递数据的不错的教程。 可能我不知道此特定“连接”的确切术语。
我试过这些链接:
以及其他大部分以Objective-C编写的教程。 第一个和第二个链接似乎是答案,但是我不确定如何使用它以及如何传递所需的信息。
这种事情应该可以解决
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
if let grad = self.grads[indexPath.row] {
self.performSegueWithIdentifier("pushDegree", sender: grad)
}
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "pushDegree" {
guard
let degreeVC = segue.destinationViewController as? DegreeViewController,
else {
return
}
degreeVC.grad = sender as! Grad
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.