簡體   English   中英

Swift MacOS 更改整個應用程序的數組值

[英]Swift MacOS Change Array value for whole app

我是 swift 的新手,但想知道是否有人可以建議我在下面的代碼中做錯了什么。

我打算做的是使在 class 上方聲明的原始數組,一旦單擊更改數組按鈕,更改為 4 3 2 1。 如果我單擊按鈕,這可以正常工作,並且控制台會按預期輸出 4321。 但是,一旦我單擊打印數組按鈕,它就會顯示我首先聲明的原始數組 1-2-3-4。 如何用我在更改數組按鈕上創建的新數組覆蓋原始數組?

  • 所以預期的行為按打印數組見 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.
        }
    }
}

您已經在全局級別聲明了您的變量,但您也通過再次使用letfunc arraychange(_ sender) function 中聲明它。 換句話說,您正在創建一個也稱為shuffledNumbers的新變量,該變量會在 function 結束后立即消失。

您可能想要執行以下操作:

  1. shuffleNumbers聲明為全局變量。 在您的 class 中聲明它
  2. arracychange(_ sender:) function 中,通過刪除let更新shuffleNumbers數組。

您肯定想刪除行尾的分號。 它們可能是有效的,但它們不是 Swifty。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM