在Swift中的函数之间共享变量

时间:2014-08-23 04:50:50

标签: macos cocoa variables swift share

我今天开始了斯威夫特 我不知道如何在函数之间共享变量。有没有人有想法?

@IBAction func function1(sender : NSButton) {
    var variable1 = 1
}
@IBAction func function2(sender: NSButton) {
    println(variable1)
}

我用Google搜索了这个,但我找不到解决办法 我正在使用Xcode6 beta6。

---- ---- EDITED

我想要做的具体事情是下面的代码。

var files: [AnyObject] = [AnyObject]()
@IBAction func selectFiles(sender : NSButton) {
    let openDlg = NSOpenPanel()
    openDlg.allowsMultipleSelection = true
    openDlg.canChooseFiles = true
    openDlg.canChooseDirectories = true
    if openDlg.runModal() == NSOKButton{
        var files = openDlg.URLs
    }
}
@IBAction func startScript(sender: NSButton) {
    for var i = 0; i < files.count; i++ {
        var fileName:AnyObject = files[i];
        println(files[i])
    }
}

实际上,我想打开一个对话框来选择文件,然后记录这些文件的路径 此代码中没有错误,但没有打印任何内容。我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

为什么不在外面声明variable1然后在两个函数中使用它,如下所示:

var variable1 = 0 

@IBAction func function1(sender : NSButton) {
    variable1 = 1
}
@IBAction func function2(sender: NSButton) {
    println(variable1)
}

编辑: 根据您发布的新代码,您正在进行

var files = openDlg.URLs

在这里,您要声明一个局部变量而不使用全局变量。 从此处删除var并仅保留

files = openDlg.URLs