2017-02-27 67 views
0

我努力掌握塞格斯和已創建了到簡單視圖控制器,第一個是使用了以下類的簡單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值。似乎有線索,我可以進一步詢問,所以任何指針大大收到。

謝謝。

+1

查看此答案對您有所幫助。 http://stackoverflow.com/a/41887007/5461400 –

回答

0

不好意思的人,只要我發佈這個,我注意到在segue標識符中有一個錯字。

謝謝反正。

相關問題