好的,我第一次在這裏尋求幫助時,通常我可以搜索並找到我的答案,但現在還沒有。我有一個顯示圖片和名稱的表格。如果其中一個被選中,它將轉到另一個視圖並且數據通過。但是,我試圖讓傳遞的信息顯示在如下表中:Name: (Passed Info), Age: (Passed Info), Gender: (Passed Info)
等我知道數據通過,因爲我可以在標籤中顯示信息,但我無法弄清楚如何讓它顯示在表中。 Index
問題? String
問題?Swift顯示從prepareForSegue傳遞的數據
這是傳遞信息代碼:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
var detailsViewController: DetailsViewController = segue.destinationViewController as DetailsViewController
var horseIndex = appsTableView!.indexPathForSelectedRow()!.row
var selectedHorse = self.horses[horseIndex]
detailsViewController.horse = selectedHorse
這是控制器得到我想要的數據的代碼表中顯示
class DetailsViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
@IBOutlet var tableView: UITableView!
@IBOutlet weak var titleLabel: UILabel!
var horse: Herd?
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
override func viewDidLoad() {
super.viewDidLoad()
self.tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "cell")
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.horse.count;
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell:UITableViewCell = self.tableView.dequeueReusableCellWithIdentifier("cell") as UITableViewCell
cell.textLabel?.text = self.horse[indexPath.Row]
return cell
}
}
我得到return self.horse.count
上的錯誤說明不是成員,並且self.horse[indexPath.Row]
上的錯誤表明NSIndex
沒有名爲row的成員。
我覺得我沒有正確解開它或什麼東西,但我無法弄清楚或在我的搜索中找到答案。如果您需要更多信息,請提前通知我並提前感謝您的幫助。
變化'self.horse.count'到'self.horse?.count? 0'和'self.horse [indexPath.Row]'到'self.horse?[indexPath.row]'。 – bluedome
Herd是Array的一個子類嗎?還是它有一個你已經實現的'count'屬性?錯誤告訴你,XCode在'Herd'實例'self.horse'上找不到那些屬性。這不是關於可選項(無或不可),而是關於使用自定義類型「Herd」,它沒有您要求的值。 有點難理解爲什麼detail ViewController具有第二個表格視圖,並且如果您只傳遞前一個視圖中的單個馬匹,則需要「Herd」。 – mc01
@bluedome謝謝你的回覆,我提出了你的建議修改:關於count我得到Herd沒有一個名字爲count的成員我得到Herd沒有一個名爲subscript的成員。 –