来自两个不同的viewControllers osx swift的segue

时间:2015-09-14 01:03:55

标签: macos swift segue nstableview

我正在编写一个使用标签视图控制器的应用程序(每个标签都有自己的视图控制器),我想在同一个表视图中的两个表中显示计算结果。我将该表视图连接到带有sagues的viewControllers。我遇到的问题是,每次打开表视图时,数组声明都会使它们都为空,只有一个表显示为我想要它。有办法解决这个问题吗?

我的表视图控制器中的代码

import Cocoa

class TableView: NSViewController, NSTableViewDataSource, NSTableViewDelegate {

    @IBOutlet var ResultsTable: NSTableView!

    @IBOutlet var ResultTableInvers: NSTableView!

    var rekord : [(fi1: String, lambda1: String, fi2: String, lambda2: String, A12: String, A21: String, s: String)] = []
    var rekordInverse : [(fi1: String, lambda1: String, fi2: String, lambda2: String, A12: String, A21: String, s: String)] = []
    override func viewDidLoad() {
        super.viewDidLoad()
        println(rekord)
        self.ResultsTable.reloadData()
        self.ResultTableInvers.reloadData()
        // Do view setup here.
    }


    @IBAction func powrot(sender: NSButton) {

        dismissViewController(self)
    }



    func numberOfRowsInTableView(tableView: NSTableView) -> Int {
        if(tableView == self.ResultsTable){
            return self.rekord.count
        } else { return self.rekordInverse.count}



    }

    func tableView(tableView: NSTableView, objectValueForTableColumn tableColumn: NSTableColumn?, row: Int) -> AnyObject? {
         var newString = ""
          var myArray : [(fi1: String, lambda1: String, fi2: String, lambda2: String, A12: String, A21: String, s: String)] = []
        if(tableView == self.ResultsTable){
        myArray = rekord
        } else { myArray = rekordInverse}


        switch (tableColumn!.identifier) {

        case "fi1":
            newString = myArray[row].fi1

        case "lambda1":
            newString = myArray[row].lambda1

        default: newString = "12"

        }

            return newString
    }


}

0 个答案:

没有答案