2016-09-13 3 views
0

アプリを再起動してボタンをタップすると、保存されたスコアが0に設定され、そこからカウントアップされ、保存されたスコアをどのように変更することができますか?保存したスコアにスコアを追加する

import UIKit 
import iAd 

class ViewController: UIViewController, ADBannerViewDelegate { 

    @IBOutlet var TapLabel: UILabel! 
    @IBOutlet var Banner: ADBannerView! 

    var taps = 0 

     override func viewDidLoad() { 
     super.viewDidLoad() 
     // Do any additional setup after loading the view, typically from a nib. 

      TapLabel.text = String(NSUserDefaults.standardUserDefaults().integerForKey("key")) 

      Banner.hidden = true 
      Banner.delegate = self 
      self.canDisplayBannerAds = true 

    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 



    } 

    func bannerViewActionShouldBegin(banner: ADBannerView!, willLeaveApplication willLeave: Bool) -> Bool { 
     return true 
    } 

    func bannerViewDidLoadAd(banner: ADBannerView!) { 
     Banner.hidden = false 
    } 


    @IBAction func Button(sender: UIButton){ 

     taps += 1 
     TapLabel.text = "Taps: \(taps)" 
     NSUserDefaults.standardUserDefaults().setInteger(taps, forKey: "key") 



    } 

} 
+0

'タップ=のNSUserDefaults.standardUserDefaults(でこれを変更integerForKey。 ( "キー") '? – Larme

答えて

0

NSUserDefaultsに格納されているものにタップを設定する必要があります。現在、これはラベルにのみ設定します。

だからあなたのviewDidLoadメソッドでは、これを追加します。

TapLabel.text = "Taps: \(taps)" 

ので、あなたのタップのプロパティセットを作成され、これを行うための別の方法:

taps = NSUserDefaults.standardUserDefaults().integerForKey("key") 

は、次に、その下に表示を更新するには、次の追加ユーザーのデフォルトを直接取得します。次に例を示します。

import UIKit 
import iAd 

class ViewController: UIViewController, ADBannerViewDelegate { 

    @IBOutlet var TapLabel: UILabel! 
    @IBOutlet var Banner: ADBannerView! 

    var taps: Int { 
     get { 
      return NSUserDefaults.standardUserDefaults().integerForKey("key") 
     } 
     set { 
      NSUserDefaults.standardUserDefaults().setInteger(newValue, forKey: "key") 
     } 
    } 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     // Do any additional setup after loading the view, typically from a nib. 

     TapLabel.text = "Taps: \(taps)" 

     Banner.hidden = true 
     Banner.delegate = self 
     self.canDisplayBannerAds = true 

    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 



    } 

    func bannerViewActionShouldBegin(banner: ADBannerView!, willLeaveApplication willLeave: Bool) -> Bool { 
     return true 
    } 

    func bannerViewDidLoadAd(banner: ADBannerView!) { 
     Banner.hidden = false 
    } 


    @IBAction func Button(sender: UIButton){ 

     taps += 1 
     TapLabel.text = "Taps: \(taps)" 
    } 
} 
+0

ありがとう、しかし、私はアプリを実行し、それを再起動したときに、最後に達した番号だけがあります。その隣に「タップ:」を置く方法はありますか? –

0

あなたは私の寄付は、初期番号をタップして、以下に以前に格納された値に設定すると、コードが)

@IBOutlet var TapLabel: UILabel! 
@IBOutlet var Banner: ADBannerView! 


var taps: Int = 0 

    override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 
     let previousTaps = String(NSUserDefaults.standardUserDefaults().integerForKey("key")) 
     TapLabel.text = previousTaps 
     taps = Int(previousTaps) 
     Banner.hidden = true 
     Banner.delegate = self 
     self.canDisplayBannerAds = true 

} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 



} 

func bannerViewActionShouldBegin(banner: ADBannerView!, willLeaveApplication willLeave: Bool) -> Bool { 
    return true 
} 

func bannerViewDidLoadAd(banner: ADBannerView!) { 
    Banner.hidden = false 
} 


@IBAction func Button(sender: UIButton){ 

    taps += 1 
    TapLabel.text = "Taps: \(taps)" 
    NSUserDefaults.standardUserDefaults().setInteger(taps, forKey: "key") 



} 
関連する問題