我今天开始了斯威夫特 我不知道如何在函数之间共享变量。有没有人有想法?
@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])
}
}
实际上,我想打开一个对话框来选择文件,然后记录这些文件的路径 此代码中没有错误,但没有打印任何内容。我怎么能这样做?
答案 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