从的UITableViewController执行Segue公司到的UIViewController与数组值Swift3
问题描述:
我努力掌握塞格斯和已创建了到简单视图控制器,第一个是使用了以下类的简单TableViewController从的UITableViewController执行Segue公司到的UIViewController与数组值Swift3
import UIKit
class CourseTVC: UITableViewController {
var courseVenue = ["Cardiff", "Swansea", "Rhyl", "Bangor"]
var courseDate = ["27th February 2017", "9th March 2017", "17th March 2017", "23rd March 2017"]
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
override func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return courseVenue.count
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "courseCell", for: indexPath)
cell.textLabel?.text = courseVenue[indexPath.row]
cell.detailTextLabel?.text = courseDate[indexPath.row]
return cell
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "showMapDeail" {
let destinationController = segue.destination as! CourseMapVC
if let indexPath = tableView.indexPathForSelectedRow {
destinationController.courseTitle = courseVenue[indexPath.row]
}
}
}
}
我使用简单的脚本阵列填充单元格数据。这效果很好,我想将选定的行标题传递给第二个ViewController,并只显示场地标题。第二个视图控制器打开(segue在故事板上被命名为showMapDetail并且是一个show segue),但不显示场地标题。第二个视图控制器的类是
import UIKit
class CourseMapVC: UIViewController {
@IBOutlet weak var venueTitle: UILabel!
var courseTitle: String = ""
override func viewDidLoad() {
super.viewDidLoad()
venueTitle.text = courseTitle
}
}
没有错误,没有传递数据或传递了nil值。似乎有线索,我可以进一步询问,所以任何指针大大收到。
谢谢。
答
不好意思的人,只要我发布这个,我注意到在segue标识符中有一个错字。
谢谢反正。
查看此答案对您有所帮助。 http://stackoverflow.com/a/41887007/5461400 –