Swift - 读取数据

Swift - 读取数据 首页 / iOS入门教程 / Swift - 读取数据

从UserDefaults获取数据非常简单。以下方法用作UserDefaults中的getter方法。

SNMethodDescription
1func object(forKey: String) -> Any?它返回与指定键关联的对象。
2func url(forKey: String) -> URL?它返回与指定键关联的URL。
3func array(forKey: String) -> [Any]?它返回与指定键关联的数组。
4func dictionary(forKey: String) -> [String : Any]?它返回与指定键关联的字典。
5func string(forKey: String) -> String?它返回与指定键关联的字符串。
6func stringArray(forKey: String) -> [String]?它返回与指定键关联的字符串数组。
7func data(forKey: String) -> Data?它返回与指定键关联的二进制数据。
8func bool(forKey: String) -> Bool它返回与指定键关联的布尔值。
9func integer(forKey: String) -> Int它返回与指定键关联的整数值。
10func float(forKey: String) -> Float它返回与指定键关联的浮点值。
11func double(forKey: String) -> Double它返回与指定键关联的双精度值。
12func dictionaryRepresentation() -> [String : Any]它返回UserDefualts的字典表示形式。

由于UserDefaults使用数据类型来检索与键关联的存储值。但是指定键的值可能不存在。因此在从UserDefaults检索值时,无涯教程需要使用可选绑定。

if let token = UserDefaults.standard.string(forKey: "userToken"){
   debugPrint(token)
}

在实时项目中,无涯教程在单例Shared Preference类中使用UserDefaults。让无涯教程考虑以下示例,在该示例中,无涯教程创建一个显式的SharedPreferenceManager类,并将所有与用户默认值相关的代码放在此处。

SharedPreferenceManager.swift

import Foundation

class SharedPreferenceManager: NSObject {
    class var sharedIntance : SharedPreferenceManager {
        struct Static {
            static let instance = SharedPreferenceManager()
        }
        return Static.instance
    }
    
    let sharedPreferenc = UserDefaults.standard
    
    //MARK:- clear all Data.
    func clearAllPreference() {
        if let bundle = Bundle.main.bundleIdentifier {
            sharedPreference.removePersistentDomain(forName: bundle)
        }
    }
    
    //MARK:- setter methods.
       func saveUserToken (_ userToken : String) {
        sharedPreference.set(userToken, forKey: "userToken")
    }
    
    
  
    
    //MARK:- getter Methods.
    
    func getUserToken() -> String? {
        return sharedPreference.value(forKey: "userToken") as? String
    }

ViewController.swift

import UIKit

class ViewController: UIViewController {  
    override func viewDidLoad() {
        super.viewDidLoad()
       //Do any additional setup after loading the view.
        let token = "ABCDEFGD!@#$456MK"
        SharedPreferenceManager.sharedIntance.saveUserToken(token)
        
        if let token = SharedPreferenceManager.sharedIntance.getUserToken(){
            debugPrint(token)
        }
     }
    }

SharedPreferenceManager类可以在实时项目中使用,无涯教程可以在其中放置所有setter和getter方法来保存和检索UserDefaults中的值。

    祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

    技术教程推荐

    快速上手Kotlin开发 -〔张涛〕

    深入剖析Kubernetes -〔张磊〕

    Nginx核心知识150讲 -〔陶辉〕

    即时消息技术剖析与实战 -〔袁武林〕

    DDD实战课 -〔欧创新〕

    视觉笔记入门课 -〔高伟〕

    爆款文案修炼手册 -〔乐剑峰〕

    讲好故事 -〔涵柏〕

    计算机基础实战课 -〔彭东〕

    好记忆不如烂笔头。留下您的足迹吧 :)