Xcode 中的 UserDefault 不保存文本

Posted

技术标签:

【中文标题】Xcode 中的 UserDefault 不保存文本【英文标题】:UserDefault in Xcode is not saving the text 【发布时间】:2020-06-23 10:29:21 【问题描述】:

出于同样的原因,此代码不会保存文本。如何解决?

import UIKit

class ViewControllertextview: UIViewController 

    @IBOutlet weak var text: UITextView!
    override func viewDidLoad() 
        super.viewDidLoad()
        _ = UserDefaults.standard

        let value = UserDefaults.standard.string(forKey: "onekey")
        
        if value != nil
            text.text = value
            
        else 
            text.text = "Here you can make Notes"
        
        
    
    let defaults = Foundation.UserDefaults.standard
    
    @IBAction func Sbutton(_ sender: Any) 
        UserDefaults.standard.set(text.text, forKey: "onekey")
    

    
    @IBAction func ggbutton(_ sender: Any) 

    
    



【问题讨论】:

【参考方案1】:

UserDefaults 不会立即将数据写入存储。您可以尝试在UserDefaults.standard.set(.. 之后立即调用UserDefaults.standard.synchronize() 进行保存

【讨论】:

我已经尝试添加 UserDefaults.standard.synchronize() 但它仍然不起作用。 你是怎么调试的?如果您像使用UserDefaults.standard.set("value", forKey: "key") 一样保存它,您可以使用UserDefaults.standard.string(forKey: "key") 获取它。 如果我使用 UserDefaults.standard.string(forKey: "key") 如何获取文本到文本字段?我不太擅长编码 UserDefaults.standard.synchronize() 已经被软性弃用了一段时间。不要使用它。

以上是关于Xcode 中的 UserDefault 不保存文本的主要内容,如果未能解决你的问题,请参考以下文章

cocos2dx中的游戏储存-UserDefault

如何从 Swift 类中检索目标 C 类中的 Userdefault?

swift Userdefault标准保存/加载

使用 userdefault 保存并获取 Model 类的详细信息

如何在 Swift 中将 JSON 数据保存到 UserDefault? [复制]

如何在 UserDefault 中存储推送通知警报消息?