ios - 保存标签时变量返回 0

标签 ios swift label uilabel nsuserdefaults

我制作了一个应用程序,在其中保存一个标签,可以使其在我的应用程序中向上或向下移动一个数字。但是,如果我失去了我的应用程序并重新打开它,如果我使标签再次上升,那么它会重置回零并变为一。这是因为我必须将变量值设置为零。这是我的代码:

    @IBOutlet var goal: UILabel!

    @IBAction func player1button(sender: AnyObject)
    {
    NSUserDefaults.standardUserDefaults().setValue(goal.text!, forKey:"firstGoal")
    }

    var goal1 = 0

    @IBAction func goalUp(sender: AnyObject)
    {
    goal1++
    goal.text = "\(goal1)"
    }

    override func viewDidLoad()
    {
    super.viewDidLoad()
    goal.text = (NSUserDefaults.standardUserDefaults().objectForKey("firstGoal") as? String)
    }

我正在保存目标号码,然后在文本中稍后将其回调。请告诉我一种修复方法,这样它就可以添加到之前的数字上。

最佳答案

在viewDidLoad()中添加

goal1 = Int((NSUserDefaults.standardUserDefaults().objectForKey("firstGoal") as? String)!)

这会将您用来跟踪目标的 int 变量设置为应用程序加载时的正确值。目前您只是将文本标签设置为正确的值。

关于ios - 保存标签时变量返回 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34821720/

相关文章:

iOS调整TextView大小以适应不同尺寸的屏幕

objective-c - 在后台运行的 iPhone 应用程序可以通过网络将数据发送到远程服务器吗?

swift - 如何仅在它为 nil 时设置静态属性?

python - 如何使用 Python 将 BeautifulSoup.Tag 设置为 Gtk3 中的标签

r - hmisc 包更改原始代码从 0 :1 to 1:2

ios - 如何始终纵向加载应用程序?

ios - 使用 Alamofire 和 EVReflection 的 JSON POST 请求

swift - 链接器命令失败,退出代码 1 : Google Maps

ios - 从结构模型填充 View 时的 nil 值

neo4j - 你能在 NEO4J 中订购标签吗?