Arrays Swift MacOS更改整个应用程序的数组值
我是swift新手,但想知道是否有人能告诉我下面的代码有什么问题 我打算做的是在类上方声明原始数组,单击ChangeArray按钮后将其更改为4321。如果我单击该按钮,控制台将按预期输出4321。但是,单击“打印数组”按钮后,它会显示我首先声明的原始数组1-2-3-4。如何用我在“更改数组”按钮上创建的新数组覆盖原始数组Arrays Swift MacOS更改整个应用程序的数组值,arrays,swift,macos,Arrays,Swift,Macos,我是swift新手,但想知道是否有人能告诉我下面的代码有什么问题 我打算做的是在类上方声明原始数组,单击ChangeArray按钮后将其更改为4321。如果我单击该按钮,控制台将按预期输出4321。但是,单击“打印数组”按钮后,它会显示我首先声明的原始数组1-2-3-4。如何用我在“更改数组”按钮上创建的新数组覆盖原始数组 因此,请按打印阵列查看1 2 3 4 按更改阵列按钮 现在,打印数组应该显示4 3 2 1,而不是它显示的1 2 3 4 谢谢 import Cocoa let shu
- 因此,请按打印阵列查看1 2 3 4
- 按更改阵列按钮
- 现在,打印数组应该显示4 3 2 1,而不是它显示的1 2 3 4
import Cocoa
let shuffledNumbers = [0, 1, 2, 3]; // declare array
class ViewController: NSViewController {
// change array button
@IBAction func arraychange(_ sender: Any) {
let shuffledNumbers = [4, 3, 2, 1];
print(shuffledNumbers);
}
// print array to console
@IBAction func button(_ sender: Any) {
print(shuffledNumbers);
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
override var representedObject: Any? {
didSet {
// Update the view, if already loaded.
}
}
}
您已经在全局级别声明了变量,但您也再次使用
let
在func-arraychange(\usender)
函数中声明了变量。换句话说,您正在创建一个新变量,也称为shuffledNumbers
,该变量在函数结束时立即消失
您可能需要执行以下操作:
shuffleNumbers
声明为全局变量。在你的课堂上声明它arracychange(uu.sender:)
函数中,通过删除let
来更新shuffleNumbers
数组你肯定想去掉你的台词末尾的分号。它们可能有效,但不快速。非常感谢我自己注意到了这个问题,非常感谢您的帮助,先生!不客气。我自己也做过同样的事。请随意标记我的答案为正确:-)