swift - View 更改或应用程序关闭后数字不断重置

标签 swift

我正在尝试实现一个分数,在用户观看激励视频广告后,分数将增加 1。我的代码将分数增加 1,但在我更改 View 并返回到分数的 View 后如图所示,分数返回0。如何更新分数?

import UIKit
import GoogleMobileAds
class RewardedAdViewController: UIViewController, 
    GADRewardBasedVideoAdDelegate {

@IBOutlet weak var scoreText: UILabel!

var score = 0
override func viewDidLoad() {
    super.viewDidLoad()
    GADRewardBasedVideoAd.sharedInstance().load(GADRequest(), withAdUnitID: "ca-app-pub-3940256099942544/1712485313")
    GADRewardBasedVideoAd.sharedInstance().delegate = self

    //let defaults = UserDefaults.standard
    //defaults.set(0, forKey: "score")

}



@IBAction func playVideo(_ sender: Any) {
    if GADRewardBasedVideoAd.sharedInstance().isReady == true{
        GADRewardBasedVideoAd.sharedInstance().present(fromRootViewController: self )
    }
}

func rewardBasedVideoAdDidClose(_ rewardBasedVideoAd: GADRewardBasedVideoAd) {

    GADRewardBasedVideoAd.sharedInstance().load(GADRequest(), withAdUnitID: "ca-app-pub-3940256099942544/1712485313")
    GADRewardBasedVideoAd.sharedInstance().delegate = self

}

func rewardBasedVideoAd(_ rewardBasedVideoAd: GADRewardBasedVideoAd, didRewardUserWith reward: GADAdReward) {

    score = score + 1
    scoreText.text = String(score)
}

在上面的代码中,我首先声明了var Score = 0,然后在代码中,当用户看完广告后,分数就会增加 1

func rewardBasedVideoAd(_ rewardBasedVideoAd: GADRewardBasedVideoAd, didRewardUserWith reward: GADAdReward) {

    score = score + 1
    scoreText.text = String(score)
}

感谢您的帮助。

最佳答案

您可能希望使用 NSUserDefaults 将分数本地存储在 iPhone 上,从而允许关闭应用程序并将值保留在系统上 - Apple Developer Documentation

关于swift - View 更改或应用程序关闭后数字不断重置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59443580/

相关文章:

swift - swift 中的 SequenceType 和 CollectionType 有什么区别?

ios - Swift Animate 背景不适用于 Collection View 单元格

swiftc 没有输出也没有错误

ios - 在 Swift 3 中从 UserDefaults 读取存储数组时出现问题

ios - stringByAddingPercentEncodingWithAllowedCharacters 在空格上的行为很奇怪

arrays - Swift - json 嵌套数组不返回值

ios - Swift 3 流委托(delegate)事件处理程序错误

ios - 如何从 Firestore 获取数据?

xcode - 如何在 Swift 中使用 Parse 植入分区 TableView

ios - 确定设备方向及其在一个维度上的角度?