我正在编写一个使用标签视图控制器的应用程序(每个标签都有自己的视图控制器),我想在同一个表视图中的两个表中显示计算结果。我将该表视图连接到带有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
}
}