ios开发存储简单的数据

UserDefaults通常用来存储一下用户的设置,接下来介绍一下怎么使用UserDefaults来保存字符串。

创建TextField来读入用户输入的字符
import SwiftUI

struct EditoView: View {
    @State private var name: String = ""
    var body: some View {
        VStack(spacing: 30) {
            TextField("在此输入", text: $name)
                .frame(width: 200, height: 200)
                .background(Color.green)
                .cornerRadius(5)

            Button("保存") {
                dataStore()  //该方法下面会说到
            }
        }
    }
}
截图
创建两方法来存储和读取数据
    //存储数据
    func dataStore() {
        UserDefaults.standard.set(name, forKey: "name")
    }
    
    //读取数据
    func readData() -> String {
        guard let name = UserDefaults.standard.string(forKey: "name") else {
            return "null"
        }
        return name
    }
完整的应该是这样的
import SwiftUI

struct EditoView: View {
    @State private var name: String = ""
    var body: some View {
        VStack(spacing: 30) {
            TextField("在此输入", text: $name)
                .frame(width: 200, height: 200)
                .background(Color.green)
                .cornerRadius(5)
            
            Button("保存") {
                dataStore()            //按下保存button来手动保存数据
            }
        }
        .onAppear() {
            self.name = readData()    //每次显示该页面就刷新一次
        }
    }
    
    //存储数据
    func dataStore() {
        UserDefaults.standard.set(name, forKey: "name")
    }
    
    //读取数据
    func readData() -> String {
        guard let name = UserDefaults.standard.string(forKey: "name") else {
            return "null"
        }
        return name
    }
}
效果
效果.gif
posted @ 2021-11-14 22:23  skypang  阅读(8)  评论(0编辑  收藏  举报  来源