にデータを渡す:FirstViewControllerとSecondViewController:私は2つのビューコントローラを持ってSWIFT:テーブルビューをソートして、私は非常に興味深い問題が持っている第二のViewController
を。
FirstViewControllerにテーブルビューがあります。
テーブルに行を並べ替えるためのボタンがあります。
ビューコントローラの間にはセグがあります。バンク1、バンク2、バンク3:
//MARK: Sorting function:
func changeSorting(buttonTag: Int) {
let button = self.view.viewWithTag(buttonTag) as? UIButton
let buttonName = (button?.currentTitle)! as String
//Apply Sorting to table:
arrayOfBanks.sortInPlace {
item1, item2 in
let val1 = item1["sellRate"] as! Double
let val2 = item2["sellRate"] as! Double
if buttonName == "0-9⬇︎" {
return val1 > val2
} else {
return val2 > val1
}
}
self.tableView.reloadData()
}
//MARK: Navigation
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "showCalculator" {
let viewController = segue.destinationViewController as! SecondViewController
let indexPath = tableView.indexPathForSelectedRow?.row
print(indexPath!)
viewController.bn = self.bankDict[indexPath!]["bankName"]! as! String
viewController.cn = self.bankDict[indexPath!]["currencyName"]! as! String
viewController.br = String(self.bankDict[indexPath!]["sellRate"]!)
viewController.sr = String(self.bankDict[indexPath!]["buyRate"]!)
}
は、我々は別の銀行名を持つテーブルに3列を持っていることを想像してみてください。並べ替え関数はうまくいきます - テーブルを更新します。並べ替え後、新しいシーケンス:Bank3、Bank2、Bank1があります。
結局のところ、問題はsegueを使用してsecondViewControllerに値をエクスポートするときです。並べ替えを使わないとうまく動作します。しかし、もし私がするならば、それはソートする前と同じように価値を移します。
E.G.ソートせずに一番上の行を押すとbank1がエクスポートされます。
でも。ソート後、一番上にBank3がありますが、それでもBank1はsecondViewControllerに転送されます。
誰かが私が行方不明を説明することはできますか?おかげさまで
ええ、愚かな間違い!私の悪い!お返事をありがとうございます – Almazini