iOS开发之简单用户数据存储UserDefaults
来源:互联网 发布:vue.js从入门到精通 编辑:程序博客网 时间:2024/05/29 14:30
在iOS开发中,有时候需要保存用户数据,但是数据量又不是很多,用SQLite3觉得不大合适,这时候用UserDefaults偏好设置是一个不错的选择。用UserDefaults保存的数据会保存在沙盒Library/Preferences目录下,文件格式是plist。UserDefaults支持的数据格式有:NSNumber(Integer、Float、Double),NSString,NSDate,NSArray,NSDictionary,BOOL,NSData类型等等
//// ViewController.swift// UserDefaultSettingSave//// Created by 凌 陈 on 7/25/17.// Copyright © 2017 凌 陈. All rights reserved.//import UIKitclass ViewController: UIViewController { @IBOutlet weak var intLabel: UILabel! @IBOutlet weak var floatLabel: UILabel! @IBOutlet weak var stringLabel: UILabel! override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. let libraryPath = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.libraryDirectory,FileManager.SearchPathDomainMask.userDomainMask, true)[0] print("沙盒地址:\(libraryPath)") setLabel() saveData() readData() } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } func setLabel() { intLabel.font = UIFont.systemFont(ofSize: 20.0) intLabel.textColor = UIColor.blue intLabel.textAlignment = .left floatLabel.font = UIFont.systemFont(ofSize: 20.0) floatLabel.textColor = UIColor.blue floatLabel.textAlignment = .left stringLabel.font = UIFont.systemFont(ofSize: 20.0) stringLabel.textColor = UIColor.blue stringLabel.textAlignment = .left } func saveData() { var number = 110103024 var price = 10.34 var description = "此商品富含维生素C!" UserDefaults.standard.set(number, forKey: "number") UserDefaults.standard.set(price, forKey: "price") UserDefaults.standard.set(description, forKey: "description") } func readData() { let number = UserDefaults.standard.integer(forKey: "number") intLabel.text = "商品编号: " + "\(number)" let price = UserDefaults.standard.float(forKey: "price") floatLabel.text = "商品价格: " + "$" + "\(price)" let description = UserDefaults.standard.string(forKey: "description") stringLabel.text = "商品描述: " + description! }}
运行过一次后,将代码中的ViewDidLoad中的saveData()屏蔽掉,再次运行,看到的结果还是一样!因为数据已经写到plist文件保存到本地了,readData()是从本地的plist文件中读取数据的。在哪里可以找到plist文件呢?复制控制台打印的地址,在Finder中,shift + commamd + g快捷键,粘贴复制的地址,去到Lirary目录,打开Preferences目录,可以看到一个plist文件,用文本编辑器打开plist文件,可以看到里面是你保存的那些信息。
Library
Library
Library
Library
阅读全文
0 0
- iOS开发之简单用户数据存储UserDefaults
- iOS UserDefaults存储自定义对象
- 实现自定义数据存入 UserDefaults [iOS Swift] NSKeyedArchive & UserDefaults
- iOS开发之数据存储
- iOS开发之用户登陆信息存储
- iOS开发简单高效的数据存储
- iOS开发简单高效的数据存储
- iOS开发之数据存储方案
- iOS 开发数据存储之magic record
- 【iOS-Android开发对比】之 数据存储
- 13、iOS开发之数据存储
- iOS软件开发 数据存储之SQLite3
- iOS开发之数据存储(一)
- iOS开发之SQLite3数据存储
- iOS开发之Core Data数据存储
- IOS开发学习笔记之数据存储
- iOS开发 数据存储之NSUserDefaults
- iOS开发 数据存储之NSKeyedArchiver
- eclipse 启动闪退
- 安装版tomcat如何设置开机自启
- 【补充】常用Makefile格式分析
- Leetcode—174. Dungeon Game 倒序DP
- 数据结构--表
- iOS开发之简单用户数据存储UserDefaults
- 数论——中国剩余定理
- 不可变类
- Jmeter_Non HTTP response code: java.net.SocketException
- C语言模拟实现字符串操作函数
- JS程序设计基础2
- 网易2017秋招编程题集合--完全解析
- 偶串和制造回文
- sqlite中日期函数及日期查询语句