Swift OS X Xcode Beta 3 - IBAction func无法访问全局变量

时间:2014-07-14 16:34:07

标签: xcode macos swift nsviewcontroller

我有2个NSViewController类。两者都是NSButton。在第一个VC中一切正常。按第一个VC上的按钮打开第二个VC。

First View Controller:

    import Cocoa

    class ViewController: NSViewController {

    var number: Int!

    override func viewDidLoad() {

        super.viewDidLoad()
        number = 4
        println("Number: \(number)") // WORKS
    }

    @IBAction func buttonPressed(sender: AnyObject) {

        println("Number: \(number)") // WORKS
        let testViewController : TestViewController = self.storyboard.instantiateControllerWithIdentifier("TestViewController") as TestViewController
        self.presentViewControllerAsModalWindow(testViewController as NSViewController)
    }
}

第二视图控制器:

import Cocoa

class TestViewController: NSViewController {

    var number: Int!

    override func viewDidLoad() {

        super.viewDidLoad()
        number = 4
        println("Number: \(number)") // WORKS
    }

    @IBAction func buttonPressed(sender: AnyObject) {

        println("Number: \(number)") // DOES NOT WORK: EXC_BAD_ACCESS
    }
}

为什么第二个VC无法访问变量" number"?

1 个答案:

答案 0 :(得分:0)

您是否尝试使用self.number以防数字变量与第一个视图控制器中的数字变量混淆?

相关问题