当前位置:首页 » 操作系统 » ios数据库数据类型

ios数据库数据类型

发布时间: 2023-07-17 13:28:46

Ⅰ iOS开发之数据存储以及删除

iOS本地数据保存有多种方式,归纳如下:

本章不仅是学习多种数据存储方式,也可学习到其他知识点,下面就让我们详细来看:

具体方培梁核法为:
第一步:获得文件即将保存的路径,并生成在该路径下的文件:

第二步:往文件中写入/读取:
方法一:

方法配掘二:

方法三:

2.NSUserDefaults:是一个单例对象,在整个应用程序的生命周期中都只有一个实例。用渣旅来保存应用程序设置和属性、用户保存的数据。存储在沙盒的Library/Preference中,NSUserDefaults可以存储的数据类型包括:NSData、NSString、NSNumber、NSDate、NSArray、NSDictionary。写入和读取都比较简单,如下:
写入:

NSString *str = [userDefault objectForKey:@"gang"];

@interface Person : NSObject <NSCoding>//遵守NSCoding协议
@property (nonatomic,strong) NSString *name;
@property (nonatomic,assign) NSInteger age;
@end

解档操作:
同样调用NSCoder子类NSKeyedArchiver的方法unarchiveRootObject:toFile: 即可
[NSKeyedUnarchiver unarchiveObjectWithFile:path];

NSMutableData *data = [NSMutableData data];
NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc]initForWritingWithMutableData:data];
[archiver encodeObject:person forKey:@"person"];
[archiver encodeObject:bir forKey:@"bir"];
// 存档完毕(一定要调用这个方法)
[archiver finishEncoding];
[data writeToFile:path atomically:YES];

NSData *undata = [NSData dataWithContentsOfFile:path];
NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc]initForReadingWithData:data];
[unarchiver decodeObjectForKey:@"person"];
[unarchiver decodeObjectForKey:@"bir"];
// 恢复完毕
[unarchiver finishDecoding];

Ⅱ ios nsuserdefaults支持什么类型数据的存储

IOS提供了一个轻量级的快速数据存储方式:NSUserDefaults;

程序运行的时候从用户默认的数据库中读取程序的设置,同时NSUserDefaults的缓存避免了在每次读取数据时候都打开用户默认数据库的操作,所有数据都放在内存中,读写速度很快。

1。 获取 NSUserDefaults

这是一个单例,获取非常方便,随时可以调用:

[NSUserDefaults standardUserDefaults];

2。 写入数据

[[NSUserDefaults

standardUserDefaults]
setInteger:10
forKey:@"test"];

[[NSUserDefaults
standardUserDefaults]
setFloat:10.0
forKey:@"test"];

..... NSUserDefaults 支持多种数据类型,用
key来标示

3。
读出数据

int
a = [[NSUserDefaults
standardUserDefaults]
integerForKey:@"test"];

float a
= [[NSUserDefaults standardUserDefaults] floatForKey:@"test"];

。。。当然也支持其他各种类型

4。保存数据,实现持久化存储

[[NSUserDefaults

standardUserDefaults]
synchronize];

5。
判断数据是否存在

if([[NSUserDefaults

standardUserDefaults]
objectForKey:@""test"]==nil){

}else{

}

而像SQLite这样的数据库方式,适合大量数据的存储。

Ⅲ IOS 存储方式(PList、NSUserDefaults、归档、CoreData、数据库、文件)

iOS开发,plist文件读写那些事 - (jianshu.com)

NSUserDefaults存储轻量级 的本地数据 ,比如要保存一个登陆界面的数据,用户名、密码之类的。

支持的数据类型有 NSString、 NSNumber、NSInteger、NSFloat、BOOL、NSArray、NSDictionary、NSDate、 等系统定义的数据类型。

用NSUserDefaults存储的数据下次程序运行的时候依然存在 .它的数据存储在应用程序内置的一个plist文件里, 在/Library/Prefereces沙盒路径下.

NSUserDefaults是定时把缓存中的数据写入磁盘的,而不是即时写入,为了防止在写完NSUserDefaults后程序退出导致的数据丢失,可以在写入数据后使用synchronize强制立即将数据写入磁盘:

使用NSKeyedArchiver 对数据进行 归档 反归档(将自定义类型转换为NSData类型:)

NSuserDefaults 的坑
iOS 最终,我还是决定放弃使用NSUserDefaults了 - (jianshu.io)

归档: ,就是将数据写到一个文件里面去。一般我们的应用的变量常量之类的数据都是在内存里面的,只要APP关闭,这些数据都会丢失。但是把数据存储到文件里面去,就能将数据保存到本地磁盘里面(目前iOS基本就是在沙盒里面操作了),不管是APP关闭还是重启设备,下次启动APP的时候都能够读出来。

解档: (别人也叫反归档),就是将数据从文件里面读取出来。在程序里面使用。

【iOS】数据持久化:使用NSKeyedArchiver进行数据归档 - (jianshu.com)

iOS 开发Core Data使用方法 – 技术狗 (jishudog.com)

IOS 开发文件操作——NSFileManager - 星语海蓝 - 博客园 (cnblogs.com)
(15条消息) iOS文件操作_你有故事,我囿酒-CSDN博客

参考:
iOS开发 - 关于 NSUserDefaults 的使用 - (jianshu.com)

Ⅳ iOS数据存储(一)介绍

iOS本地化存储的数据保存在沙盒中。
(1) Documents :iTunes会备份该目录。一般用来存储需要持久化的数据。
(2) Library/Caches :缓存,iTunes不会备份该目录。内存不足时会被清除,应用没有运行时,可能会被清除。一般存储体积大、不需要备份的非重要数据。
(3) Library/Preference :iTunes同会备份该目录,可以用来存储一些偏好设置。
(4) tmp : iTunes不会备份这个目录,用来保存临时数据,应用退出时会清除该目录下的数据。

获取沙盒文件:

其中:

  可以把字典或数组直接写入到文件中。另外, NSString 、 NSData 、 NSNumber 等类型,也可以使用 writeToFile:atomically: 方法直接将对象写入文件中,只是 Type 为空。

   NSUserDefaults是轻量级存储,一般使用它来进行一些设置的记录,比如用户ID,开关是否打开等设置,通过键值对的方式记录设置,所以这个有时候也被称为偏好设置。
  NSUserDefaults可以存储的数据类型包括: NSData 、 NSString 、 NSNumber 、 NSDate 、 NSArray 、 NSDictionary 。如果要存储其他类型,则需要转换为前面的类型,才能用NSUserDefaults存储。

也可以写成宏定义

热点内容
江西电商存储设备怎么样 发布:2025-03-16 07:32:10 浏览:303
中信电话密码是多少 发布:2025-03-16 07:32:08 浏览:366
怎么样学好编程 发布:2025-03-16 07:31:24 浏览:569
python输出素数 发布:2025-03-16 07:31:21 浏览:418
显卡加速编译 发布:2025-03-16 07:28:53 浏览:683
javadebug 发布:2025-03-16 07:16:21 浏览:284
怎么搭建linux服务器ftp 发布:2025-03-16 07:07:38 浏览:989
芯片存储原理 发布:2025-03-16 06:58:21 浏览:284
c语言中的整型 发布:2025-03-16 06:40:48 浏览:184
分部数据库服务器的IP地址有效 发布:2025-03-16 06:33:40 浏览:193