[英]Swift MacOS Change Array value for whole app
我是 swift 的新手,但想知道是否有人可以建議我在下面的代碼中做錯了什么。
我打算做的是使在 class 上方聲明的原始數組,一旦單擊更改數組按鈕,更改為 4 3 2 1。 如果我單擊按鈕,這可以正常工作,並且控制台會按預期輸出 4321。 但是,一旦我單擊打印數組按鈕,它就會顯示我首先聲明的原始數組 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(_ sender)
function 中聲明它。 換句話說,您正在創建一個也稱為shuffledNumbers
的新變量,該變量會在 function 結束后立即消失。
您可能想要執行以下操作:
shuffleNumbers
聲明為全局變量。 在您的 class 中聲明它arracychange(_ sender:)
function 中,通過刪除let
來更新shuffleNumbers
數組。您肯定想刪除行尾的分號。 它們可能是有效的,但它們不是 Swifty。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.