swift3.0中UserDefaults的使用

UserDefaults是一種存輕量級的數(shù)據(jù)
//
// ViewController.swift
// userDefault
//
// Created by quyuanpeng on 17/4/21.
// Copyright ? 2017年 quyuanpeng All rights reserved.

import UIKit

class ViewController: UIViewController, UITextFieldDelegate {

    override func viewDidLoad() {
        super.viewDidLoad()

        self.navigationItem.title = "NSUserDefault"
        
        let readItem = UIBarButtonItem(title: "read", style: .done, target: self, action: #selector(ViewController.readInfo))
        let deleteItem = UIBarButtonItem(title: "del", style: .done, target: self, action: #selector(ViewController.deleteInfo))
        self.navigationItem.rightBarButtonItems = [deleteItem, readItem]
        
        self.setUI()
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    override func loadView() {
        super.loadView()
        self.view.backgroundColor = UIColor.white
        if (self.responds(to: #selector(getter: UIViewController.edgesForExtendedLayout)))
        {
            self.edgesForExtendedLayout = UIRectEdge()
        }
    }
    
    // MARK: - 視圖
    
    func setUI()
    {
        let textField:UITextField = UITextField(frame: CGRect(x: 10.0, y: 10.0, width: 200.0,height: 30.0))
        self.view.addSubview(textField)
        textField.clearButtonMode = .whileEditing
        textField.returnKeyType = .done
        textField.delegate = self
        textField.textColor = UIColor.red
        textField.layer.borderColor = UIColor.brown.cgColor
        textField.layer.borderWidth = 1.0
    }
    
    // MARK: - 交互
    
    // 保存,或修改
    func saveInfo(_ name:String)
    {
        if (0 <= name.characters.count)
        {
            let userDefault = UserDefaults.standard
            userDefault.set(name, forKey: "name")
            userDefault.synchronize()
            
            let alert = UIAlertView(title: "溫馨提示", message: "保存成功", delegate: nil, cancelButtonTitle: "知道了")
            alert.show()
        }
    }
    
    // 讀取
    func readInfo() -> String
    {
        let userDefault = UserDefaults.standard
        let name = userDefault.object(forKey: "name") as? String
    
        let alert = UIAlertView(title: "溫馨提示", message: "讀取成功:\(String(describing: name))", delegate: nil, cancelButtonTitle: "知道了")
        alert.show()
        
        if (name != nil)
        {
            return name!
        }
        
        return ""
    }
    
    // 刪除
    func deleteInfo()
    {
        let useDefault = UserDefaults.standard
        useDefault.removeObject(forKey: "name")
     
        let alert = UIAlertView(title: "溫馨提示", message: "刪除成功", delegate: nil, cancelButtonTitle: "知道了")
        alert.show()
    }
    
    // MARK: - UITextFieldDelegate
    
    func textFieldShouldReturn(_ textField: UITextField) -> Bool {
        
        textField.resignFirstResponder()
        
        return true
    }
    
    func textFieldShouldEndEditing(_ textField: UITextField) -> Bool {

        let text = textField.text!
        self.saveInfo(text)
      
        return true
    }
    
}


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容