我想從我的viewcontroller調用一個數組,然後從包含對象的數組中設置文本。但是,當我執行segue它只給了我一個「索引超出範圍」我不明白我做錯了什麼。我也嘗試過使用自我。在召集的任何地方,但它似乎是問題。爲什麼這是索引不足?
變量電影是我試圖從數組中獲得1個電影,但同樣的問題仍然存在。我的視圖控制器做錯了什麼,或者我需要傳遞一個值?
Detailsviewcontroller是新視圖和tableview的控制器,這就是爲什麼我在文件內部創建了另一個類。
文件:DetailsviewController
import UIKit
class DetailsViewController: UIViewController, UITableViewDataSource,UITabBarDelegate {
@IBOutlet weak var tableView: UITableView!
var mainController = ViewController()
var movie = ViewController().self.movieArray[0]
var titles = ["Title", "Release Date","Genres","OverView"]
override func viewDidLoad() {
super.viewDidLoad()
print(movie)
// Do any additional setup after loading the view.
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return titles.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = self.tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! DetailsCustomcell
cell.detailTitle.text = titles[indexPath.row]
if indexPath.row == 0{
cell.detailContent.text = ""
}
if indexPath.row == 1{
cell.detailContent.text = ""
}
if indexPath.row == 2{
cell.detailContent.text = "Movie genre´s is not fixed yet"
}
if indexPath.row == 3{
cell.detailContent.text = ""
}
return cell
}
/*
// MARK: - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
// Get the new view controller using segue.destinationViewController.
// Pass the selected object to the new view controller.
}
*/
}
class DetailsCustomcell: UITableViewCell{
@IBOutlet weak var detailTitle: UILabel!
@IBOutlet weak var detailContent: UILabel!
}
考慮到'ViewController()'的兩個實例彼此不同,並且與故事板或xib中的'ViewController'實例不同。那就是問題所在。您需要實際參考視圖控制器。 – vadian
什麼是行'var mainController = ViewController()'for?它看起來沒有用,什麼是'ViewController'類? 'var movie = ViewController()。self.movieArray [0]''試圖做什麼?我想這是導致問題的線路,但要清楚,請指出哪一行導致異常,並將* full *錯誤消息添加到您的問題。 –
[你如何在視圖控制器和Swift中的其他對象之間共享數據?](http://stackoverflow.com/questions/29734954/how-do-you-share-data-between-view-controllers-and -other-objects-in-swift) – brimstone