Ios 在两个表视图之间快速传递数组。返回nil

Ios 在两个表视图之间快速传递数组。返回nil,ios,arrays,swift,xcode6,Ios,Arrays,Swift,Xcode6,我对SWIFT编码还很陌生。我的目的是将两个数组的值从Viewcontroller1传递到Viewcontroller2。但它在Viewcontroller2中返回的值为零。有人能告诉我吗 下面是ViewController1中的部分代码 @IBAction func solve(sender: AnyObject) { //pass information to the nextviewcontroller func prepareForSegue ( seg

我对SWIFT编码还很陌生。我的目的是将两个数组的值从Viewcontroller1传递到Viewcontroller2。但它在Viewcontroller2中返回的值为零。有人能告诉我吗

下面是ViewController1中的部分代码

@IBAction func solve(sender: AnyObject) {
        //pass information to the nextviewcontroller
         func prepareForSegue ( segue: UIStoryboardSegue!, sender: AnyObject!) {
        if (segue.identifier == "Solve") {
        var svc = segue!.destinationViewController as ViewController2

        svc.toPass = self.force
            svc.toPass2 = stiffness

        }
        }
下面是ViewController2中的部分代码

class ViewController2: UITableViewController {

    var toPass:[String]!
    var toPass2:[String]!

        override func viewDidLoad() {
            super.viewDidLoad()

             println(self.toPass)
                println(self.toPass2)
            // Do any additional setup after loading the view.
        }

完整的代码可以在这里找到

我创建了一个类似于您的项目(使用您的github链接),并且@Sebastian Wramba是正确的。您必须将这两个功能分开:

@IBAction func solve_pressed(sender: AnyObject) {
        self.performSegueWithIdentifier("Solve", sender: sender)
    }

override func prepareForSegue ( segue: UIStoryboardSegue, sender: AnyObject!) {
    if (segue.identifier == "Solve") {
        var svc = segue.destinationViewController as ViewController2

        svc.toPass = self.force
        svc.toPass2 = stiffness

    }
}

好的,解决了(双关语)。在这种情况下,您必须给您的segue标识符“Solve”。在第一个视图控制器中,选择push to view Controller2,转到第四个选项卡并将identifier设置为“Solve”。

我没有得到第一个代码。为什么函数中有一个函数?另外,请在这个问题中直接发布任何必要的代码,因为外部链接可能会很快改变,使问题在将来变得不可理解。这两个值都是空值还是其中之一(力/刚度)。当用户单击按钮时,第一个函数应该执行prepareforsegue。完整的文件可以在这里找到@sebastianwramba两个值都返回null@尼克卡蒂比认为你把事情搞混了。您应该使用
iAction
prepareforsgue
方法。内部
prepareforsgue
是否被调用?实际上,这个函数应该在顶层,当您点击界面生成器中定义了segue的东西时,“系统”会调用它。@Sebastian Wramba。谢谢我按照建议构建它,但是我的ViewController2仍然打印一个空数组[],而不是ViewController1中数组内的值。有什么建议吗?非常感谢您的帮助,您似乎出于某种原因发送了空数组。。。您可以登录控制台确认prepareForSegue函数中有实际数组吗?在进入prepareForSegue函数之前,我可以确认数组中有值。但是我不太确定如何在prepareForSegue函数期间验证我的数组是否有效。或者我如何检查?我把一个截图和文件放到一个下拉框链接中,以供参考。[链接]()很好!谢谢它起作用了!!但我可以问一下,为什么以前当prepareForSegue低于iAction时不起作用?这是因为用户点击prepareForSegue时没有调用它,因为它太“快”?不,实际上,代码不会在函数内部查找特定的函数,它将查看未实现prepare ForSegue的视图控制器的范围。