更新TableViewController中的variables

我需要更新TableViewController中的variables,我不能find办法做到这一点,有人可以解释为什么这是行不通的吗? 我生气了

在这里输入图像说明

从我的视图控制器这是我正在运行的代码:

let storyboard = UIStoryboard(name: "Main", bundle: nil) let TV = storyboard.instantiateViewControllerWithIdentifier("tbController") as myTableViewController TV.x = "test" 

然后,从TableViewController类:

 class myTableViewController: UITableViewController { var x:String! override func viewDidLoad() { super.viewDidLoad() println("Value of x is: \(self.x)") } } 

印刷的价值是:无

为什么? 那有什么问题? 我不明白:-(

更新的图片 在这里输入图像说明

首先给ViewController和TableViewController之间的一个标识符(例如:“TableViewSegue”

然后在ViewController中,使用prepareForSegue将数据从ViewController传递给TableViewController

 override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) { // Get the new view controller using segue.destinationViewController. // Pass the selected object to the new view controller. if segue.identifier == "TableViewSegue" { let vc = segue.destinationViewController as myTableViewController vc.x = "Test" } } 

这里可能有几个问题。

1.你应该将tableviewembedded到初始viewcontroller中,并将其创build为IBOutlet

编辑:从更新的图片看来,你想单击右上angular的button,并转到桌面视图。 因此,这是一个不正确的说法。

  1. 你也需要使你的ViewController(如果你select遵循上面的#1,tableviewcontroller或主viewcontroller)UITableViewDelegate和UITableViewDataSource
  2. 如果您希望更改显示的图像上列出的标签,则需要使用label.text =“String”分配来更改显示的内容
  3. 你还没有在tableviewcontroller里设置一个x的初始variables。

此外,作为一个点,您的操作顺序没有正确设置,所以它总是会显示零。 因为如果你看看你如何build立这个:

  1. 你在tableview的viewdidload中有一个println。 你正在打印的这个variables还没有设置,所以它是零
  2. 然后你创build了这个类的一个实例。 只要你创build了这个实例,viewdidload方法就会被触发,并打印出一个零线。
  3. 那么你通过TV.x方法改变了这个variables。 但是没有println检查,所以你不能看到你做了什么。