【问题标题】:Swift OS X Xcode Beta 3 - IBAction func has no access to global variableSwift OS X Xcode Beta 3 - IBAction 函数无法访问全局变量
【发布时间】:2014-07-14 16:34:06
【问题描述】:

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

第一个视图控制器:

    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”?

【问题讨论】:

    标签: xcode macos swift nsviewcontroller


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-17
      • 2014-04-08
      • 1970-01-01
      • 2012-03-06
      相关资源
      最近更新 更多