2017-07-15 13 views
0

我是Swift新手,已經嘗試過在這個主題上進行搜索,但我不知道它是如何調用的,所以我現在就問它。我想製作一種Cookie點擊器。每次按下按鈕都會有更多的錢。 當我打開應用程序時,我已經設法保存「錢」,但現在我想添加到「舊」錢,當我點擊按鈕。有誰知道如何做到這一點?如何在打開應用程序時更改/提高舊變量?

這裏是我的代碼:

import UIKit 
import AVFoundation 

var employers = 0 
var money = 0 

class ViewController: UIViewController { 

    @IBOutlet var score: UILabel! 
    @IBOutlet var moneysecond: UILabel! 
    @IBOutlet var employees: UILabel! 

    override func viewDidLoad() { 
     super.viewDidLoad() 

    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
    } 

    @IBAction func clickbutton(_ sender: Any) { 
     money = money + 20 
     score.text = "$\(money).-" 

     UserDefaults.standard.set(score.text, forKey: "dollar") 
     score.text = "$\(money).-" 
    } 

    override func viewDidAppear(_ animated: Bool) { 
     if let x = UserDefaults.standard.object(forKey: "dollar") as? String { 
      score.text = x 
     } 
    } 
} 

enter image description here

回答

1

不要存放一些StringUserDefaultsmoney實際值,例如一個Int。最初設定金錢的價值。

現在你設置顯示的文本已存儲的值,然後單擊遞增money變量,沒有什麼做從UserDefaults讀出的值,因此,你失去的信息是什麼之前在上次應用程序運行期間已設置。

建議:

  • 移動moneyViewController
  • 變化viewDidLoad閱讀viewDidAppear一個的UserDefaults.standard.integer(forKey: "dollar")值到money
  • 使用money值設置文本
  • clickbutton刪除第一個或第二個score.text分配並且不存儲在UserDefaults
+0

THX!它的工作,現在唯一的問題是,只有當我點擊按鈕時,標籤纔可見。在點擊按鈕(當我打開應用程序時),我怎樣才能使標籤可見? –

0

0,但money其實這是相同的思路luk2302的建議,但在代碼

class ViewController: UIViewController { 

    @IBOutlet var score: UILabel! 
    @IBOutlet var moneysecond: UILabel! 
    @IBOutlet var employees: UILabel! 

    var money = 0 
    var employers = 0 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     money = UserDefaults.standard.integer(forKey: "dollar") 
    } 


    @IBAction func clickbutton(_ sender: Any) { 
     money = += 20 
     score.text = "$\(money).-" 
     UserDefaults.standard.set(money, forKey: "dollar") 

    } 
    override func viewWillAppear(_ animated: Bool) { 
     super.viewWillAppear(animated) 
     score.text = "$\(money).-" 
    } 
} 
+0

Thx!它的工作,現在唯一的問題是,只有當我點擊按鈕時,標籤纔可見。在點擊按鈕(當我打開應用程序時),我怎樣才能使標籤可見? –

+0

Thx!它的工作,現在唯一的問題是,只有當我點擊按鈕時,標籤纔可見。在點擊按鈕(當我打開應用程序時),我怎樣才能使標籤可見? –

+0

該代碼應該顯示視圖出現時保存的值。 – vadian

相關問題