iOS开发UI篇—ios应用数据存储方式(偏好设置)
2023-09-14 08:57:58 时间
一、简单介绍
很多iOS应用都支持偏好设置,比如保存用户名、密码、字体大小等设置,iOS提供了一套标准的解决方案来为应用加入偏好设置功能
每个应用都有个NSUserDefaults实例,通过它来存取偏好设置。比如,保存用户名、字体大小、是否自动登录
存储位置:
![](http://images.cnitblog.com/i/450136/201406/071824426455887.png)
存储形式:
![](http://images.cnitblog.com/i/450136/201406/071825223647787.png)
二、代码示例
1.storyboard
![](http://images.cnitblog.com/i/450136/201406/071827340999374.png)
2.代码
![复制代码](http://common.cnblogs.com/images/copycode.gif)
1 // 2 // YYViewController.m 3 // 01-偏好设置 4 // 5 // Created by apple on 14-6-7. 6 // Copyright (c) 2014年 itcase. All rights reserved. 7 // 8 9 #import "YYViewController.h" 10 //偏好设置 11 @interface YYViewController () 12 /** 13 *保存数据 14 */ 15 - (IBAction)saveData:(id)sender; 16 /** 17 * 读取数据 18 */ 19 - (IBAction)readData:(id)sender; 20 21 @end 22 23 @implementation YYViewController 24 25 - (IBAction)saveData:(id)sender { 26 //1.获取NSUserDefaults对象 27 NSUserDefaults *defaults=[NSUserDefaults standardUserDefaults]; 28 29 //2保存数据(如果设置数据之后没有同步, 会在将来某一时间点自动将数据保存到Preferences文件夹下面) 30 [defaults setObject:@"yangyong" forKey:@"name"]; 31 [defaults setInteger:23 forKey:@"age"]; 32 [defaults setDouble:1.73f forKey:@"height"]; 33 [defaults setObject:@"man" forKey:@"gender"]; 34 35 //3.强制让数据立刻保存 36 [defaults synchronize]; 38 39 - (IBAction)readData:(id)sender { 40 //1.获取NSUserDefaults对象 41 NSUserDefaults *defaults=[NSUserDefaults standardUserDefaults]; 42 //读取保存的数据 43 NSString *name=[defaults objectForKey:@"name"]; 44 NSString *gender=[defaults objectForKey:@"gender"]; 45 NSInteger age=[defaults integerForKey:@"age"]; 46 double height=[defaults doubleForKey:@"height"]; 47 //打印数据 48 NSLog(@"name=%@,gender=%@,age=%d,height=%.1f",name,gender,age,height); 50 @end
![复制代码](http://common.cnblogs.com/images/copycode.gif)
3.点击保存数据,读取数据按钮打印如下
![](http://images.cnitblog.com/i/450136/201406/071829468177261.png)
三、补充说明
1.保存数据
![复制代码](http://common.cnblogs.com/images/copycode.gif)
//1.获取NSUserDefaults对象 NSUserDefaults *defaults=[NSUserDefaults standardUserDefaults]; //2保存数据 [defaults setObject:@"yangyong" forKey:@"name"]; [defaults setInteger:23 forKey:@"age"]; [defaults setDouble:1.73f forKey:@"height"]; [defaults setObject:@"man" forKey:@"gender"]; //3.强制让数据立刻保存 [defaults synchronize];
![复制代码](http://common.cnblogs.com/images/copycode.gif)
2.读取数据
![复制代码](http://common.cnblogs.com/images/copycode.gif)
//1.获取NSUserDefaults对象 NSUserDefaults *defaults=[NSUserDefaults standardUserDefaults]; //2.读取保存的数据 NSString *name=[defaults objectForKey:@"name"]; NSString *gender=[defaults objectForKey:@"gender"]; NSInteger age=[defaults integerForKey:@"age"]; double height=[defaults doubleForKey:@"height"];
![复制代码](http://common.cnblogs.com/images/copycode.gif)
3.重要说明
(1)偏好设置是专门用来保存应用程序的配置信息的, 一般情况不要在偏好设置中保存其他数据。如果利用系统的偏好设置来存储数据, 默认就是存储在Preferences文件夹下面的,偏好设置会将所有的数据都保存到同一个文件中。
(2)使用偏好设置对数据进行保存之后, 它保存到系统的时间是不确定的,会在将来某一时间点自动将数据保存到Preferences文件夹下面,如果需要即刻将数据存储,可以使用[defaults synchronize];
(3)注意点:所有的信息都写在一个文件中,对比简单的plist可以保存和读取基本的数据类型。
(4)步骤:获取NSuserDefaults,保存(读取)数据
[ios开发]-APP-上架流程 由于苹果的机制,在非越狱机器上安装必须通过官方的Appstore, 开发者开发好应用后上传Appstore,也需要通过审核等环节。 AppCan作为一个跨主流平台的一个开发平台,也对ipa包上传Appstore作了支持。 本文从三个流程来介绍如何实现AppCan在 线编译出ipa包,以及上传到苹果Appstore。
相关文章
- 备份从android到ios系统文件,如何将音乐从安卓设备转移到iOS设备中「建议收藏」
- IOS 大裁员,一半来自 BAT 大厂开发。
- iOS_Responder chain 响应链
- 简单的 iOS 线上热修复方案
- 如何使用Xcode打包导出IPA文件并进行iOS应用内测,无需支付苹果开发者账号费用?
- iOS呼吸动画
- 2022年iOS上架及证书最新申请流程
- ios应用列表调整后排名规则
- iOS应用签名(上)
- IOS – OpenGL ES 设置图像滤镜 GPUImageSoftEleganceFilter
- 【 iOS 应用开发 】 UIKit 控件 ( 代码生成控件 | UIView 属性方法 | Storyboard | Bundle | Property List | 动画 | 图片内存优化 )
- 升级了Xcode 14.3 版本后Flutter运行IOS项目遇到File not found:arc/libarclite_iphoneos.a
- 关于 iOS 上的 PWA 应用,你需要知道些什么详解手机开发
- iOS编译过程的原理和应用详解手机开发
- iOS 应用开发中的断点续传实践总结详解手机开发
- iOS开发中GCD在多线程方面的理解详解手机开发
- iOS时间选择框详解手机开发
- IOS中修改图片的大小:修改分辨率和裁剪详解手机开发
- IOS屏幕旋转详解手机开发
- ios 获取网络类型详解手机开发
- iOS开发–应用崩溃日志揭秘(二)详解手机开发
- 在iOS上搭建MySQL数据库连接(ios连接mysql数据库)
- Linux技术可以开发IOS系统?(linux能开发ios吗)
- iOS 14.5现已发布 新增Face ID便捷解锁和应用跟踪透明化功能
- 给孩子找点事做 – Duolingo推出iOS应用教学英语拼写
- 平台开发iOS开发:基于Linux平台的世界(ios基于linux)
- 把 Linux 安装到 iOS 设备上的步骤(ios安装linux)
- 曝iOS 15将扫描用户相册!苹果回应:没有后门、仅美国提供
- iDOS 2模拟器再次被苹果iOS应用商店下架
- 谁说 iOS 就不适用Oracle(ios oracle软件)