)中进行文件的操作,不能访问其他 App 的文件系统(存储区域),该文件系统(存储区域)被成为沙盒。...userDomainMask) let url: URL = urlForDocument[0] NSSearchPathForDirectoriesInDomains 访问沙盒目录常用的函数,它返回值为一个数组,在 iOS...默认情况下数据自动以plist形式存储在沙盒的Library/Preferences目录。...UserDefaults.standard override func viewDidLoad() { super.viewDidLoad() // 取出存储的数据...可以存储自定义数据。 存储的数据需要继承自NSObject并遵循NSSecureCoding协议。
iOS应用数据存储的方式 1、XML属性列表(plist)归档 2、preference(偏好设置) 3、NSKeyedArchiver归档(NSCoding) 4、SQLite3 5、Core...Data 1、plist文件存储-(沙盒存储) 注意:不可以存储自定义对象,一个对象能不能使用plist存储,可以通过看他有没有write to file方法 存入: // 获取沙盒路径...) ** 1.不需要关心文件名** ** 2.快速做键值对存储** ** 3.基本数据类型都可以存储** 存储 NSUserDefaults *defaults = [NSUserDefaults...defaults setObject:@"sun" forKey:@"name"]; [defaults setObject:@"49" forKey:@"age"]; // iOS7...之前不会马上同步,所以适配iOS7之前的时候要加 [defaults synchronize]; 读取: NSUserDefaults *defaults = [NSUserDefaults
前言 工作需要,特意准备一篇入门文章,为新人开发者介绍常见的数据存储。 正文 数据存储 数据存储本质就是运行时的对象保存在文件、数据库中。...系统提供的持久化存储数据的类,该方法是多线程安全的单例,在沙盒中的存储是用plist进行保存。...FMDB FMDB对SQLite数据库进行封装,开放OC的接口便于开发者接入,是很普遍使用的iOS第三方数据库。 GitHub仓库地址,也可以使用pod接入。...keychain是iOS提供给App存储敏感和安全相关数据用的工具。keychain同样会被iTunes备份,即使App重装仍能读取到上次保存的结果。...总结 iOS的本地数据存储,其实就是内存数据的序列化和反序列化。
2.2 案例:存储UUID来解决设备唯一标识符获取方案 2.3 iOS安全之敏感逻辑的保护方案 4.1 例子:存储自定义类型 4.2 NS_DESIGNATED_INITIALIZER 宏的使用 4.3...的sql日志输出 开关 7.9、coredata 的延迟加载 7.10、NSManagedObject子类 前言 iOS应用数据存储的常用方式 1、preference偏好设置 2、XML属性列表归档...每个iOS应用都有自己的应用沙盒,来与其他文件系统隔离。...一般存储体积大、不需要备份的非重要数据 5 Library/Preference: 保存应用的所有偏好设置,iOS的Settings(设置)应用会在该目录中查找应用的设置信息。...Keychain是OS X和iOS都提供的一种安全存储敏感信息工具。 比如,我们可以在Keychain中存储用户名、密码等信息。
做开发的时候,我们经常需要将数据保存在plist文件中,用这种方式来将数据写入磁盘,这样退出 App 再打开的话,上次写入的文件还在。...atomically useAuxiliaryFile:Bool) ->Bool 然而 writeToFile 这个函数却只属于 NSArray 假如我自定义了一个Person类来写人,然后用数组来存储...想要把它存储在本地plist文件中,需要用到 NSKeyedArchiver 和 NSKeyedUnarchiver 但是在此之前,你需要把你的类改造一下。 ? 起初的类 ?...将peopleArray存储到本地plist ? 将peopleArray从本地plist中取出 附上我在 StackOverFlow 上的相关讨论
移动端开发中,与后台服务数据请求打交道,现在通常是以JSON格式数据进行处理交互。最近碰到一个项目,后台数据交互返回XML格式数据,很久没有接触此类数据了,稍微记录下。...解析XML数据时,使用的是XMLReader第三方框架。该框架中的解析数据方法非常简单。 该框架本身提供了四种方法,以传入NSData与NSString格式的XML数据进行解析,并返回一个数据字典。...dictionaryForXMLString:(NSString *)string options:(XMLReaderOptions)options error:(NSError **)errorPointer; 出于技术开发的特性...实现关键方法 通过上图可以发现,本身是使用了iOS原生提供的NSXMLParser类相关方法进行XML数据解析。...拼接key 这个代理方法中,在获取一个标签首尾间的字符数据时,这个方法可能被调用多次。要获取完整的数据,就需要使用append方法来拼接,并存入textInProgress ?
安卓内部存储就是将信息保存在一个文件中放入手机内部一个特定的目录下,特别要注意,这里的内部存储不是内存存储。内部存储是系统中一个很特殊的位置。...读取数据都是根据文件名称来执行 下面根据一个简单的Demo来学习下内部存储 一、先看下Demo布局 ?...=-1) 78 { 79 //将读取的数据添加到文本内容编辑框中 80 content.append(new String(arr,...------------------------------------------------------------------------------- 相关知识: 安卓开发_数据存储技术_SharedPreferences...类 安卓开发_数据存储技术_外部存储
安卓外部存储,即将数据存储在sdcard中,当然存储的前提是手机或者模拟器先具有sdcard目录 然而上一句话还是有歧义的。...事实上所有的安卓设备都有外部存储和内部存储,这两个名称来源于安卓的早期设备,那个时候的设备内部存储确实是固定的,而外部存储确实是可以像U盘一样移动的。...所以不管安卓手机是否有可移动的sdcard,他们总是有外部存储和内部存储。最关键的是,我们都是通过相同的api来访问可移动的sdcard或者手机自带的存储(外部存储)。...因为存储空间有限,内部存储只适用于存储数据量小的情况,当数据量比较大的时候(存放下载的电影音乐等),就需要将数据外部存储 ----------------------------------------..._数据存储技术_内部存储 安卓开发_数据存储技术_SharedPreferences类 安卓开发_数据存储技术_sqlite
平时我们经常会采用 NSUserDefaults 或者 Plist 来存储数据到设备,这样即使 App 被关闭,下次再打开的时候数据还在。...这里我写了两个函数来供大家使用,一个用来存数据,一个用来读数据。...Key,就可以操作同一份数据。...这里多提供了一个 type 选项来选择通过 NSUserDefaults 或者 Plist 来存储数据。...但是要注意,在这里 NSUserDefaults 只支持存储 NSArray、NSString 等基本类型,如果你要存储自定义类型的实例,必须使用 StoreType.plist 进行存储。
NSUserDefaults简介 在Android和ios都提供了本地轻量级数据存储,底层实现都是基于key-value的方式。...Android里面的叫SharedPreferences,ios的叫NSUserDefaults,使用上也是非常的简单。我们先看一看NSUserDefaults的API。...[[NSUserDefaults standardUserDefaults] synchronize]; 取数据的方法跟存是一样的,取出数据。...initWithDictionary: [[NSUserDefaults standardUserDefaults]dictionaryRepresentation]]; NSUserDefaults只能存储一些简单的数据类型...,如果要存取一些复杂类型的数据(例如实体类),就需要对数据进行归档后转为NSData后存取。
不管是在iOS还是Android开发过程中,我们都经常性地需要存储一些状态和数据,比如用户对于App的相关设置、需要在本地缓存的数据等等。...根据要存储的的数据的大小、存储性质以及存储类型,在iOS和Android中哪个都有多种存储方式。...注意 必须遵循并实现NSCoding协议 保存文件的扩展名可以任意指定 继承时必须先调用父类的归档解档方法 扩展:iOS开发基础-数据存储方式(归档) 2.4 手动存放沙盒 手动将数据存放到沙盒...Core Data在后台也是使用SQLite来存储数据的,但是开发人员不能直接访问这些数据,只能通过Core Data提供的API来操作,如果一旦人为的通过SQLite修改这些数据那么使用Core Data...关于SQLite的详细使用方法详见:iOS开发数据库篇—SQLite的应用
苹果在 iOS9 之后已经废弃了NSURLConnection,NSURLSession成为其替代者,其基本知识网上很多,主要可以从NSURLSessionDataTask 、NSURLSessionDownloadTask...最近在写案例时发现其中的NSURLSessionUploadTask还是有着不少的坑,在开发时有时候很难一次性成功。所以将研究的过程记录与分享一下。我会以一个完整的案例来讲解如何使用。...服务器开发 环境:IDEA 14 +Tomcat 8.x+JDK 8 1、编写服务器端代码 由于上传数据与下载数据不同,下载的时候只要把数据丢进服务器就可以了。但是上传需要服务器自己来处理。...HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //存储路径为我们的根目录...Paste_Image.png 客户端开发 环境:Xcode 7.3.1 1、创建项目 创建一个项目,布置界面,设置支持http网络访问。主界面如下: ?
上面是百度百科对沙盒简介,iOS这边每个APP都对应有一个自己的沙盒,用于App自己的数据存储。安全角度上每个App只能访问自己沙盒里的数据而不能跨域访问别的App的数据。...下面是iOS中几种针对轻量级数据的存储方式: NSUserDefault 写入文件 归档 Keychain 1、NSUserDefault 苹果提供的一个单例类,只能用于存储一些轻量级的数据或者APP...keychain 存储还有一个特点是相同TeamD开发的app如果以Group方式存储到keychain的数据,App之间是都可以访问到这个数据的。...更好一点的存储可以利用数据库来操作增删改查,iOS有一个非常好用的数据库框架FMDB (基于iOS平台的SQLite数据库框架),可以多了解下。...关于作者:热河,普元移动端开发工程师,互联网技术爱好者,专注于iOS开发。目前参与Mobile 8.0项目的开发,主要接触RN技术的应用,黏合前端代码与iOS底层之间的交互。
前言 ---- 在移动端的开发中,肯定免不了列表数据的展示。这里是我个人iOS开发中经历过的一些列表数据管理。是给viewController瘦身过程中的一些收获,不考虑设计模式。...一、 最初:刚开始开发的时候 ---- 刚开始做开发的时候,在ViewController中声明一个NSMutableArray 和 currentPage 所有的数据和页面管理都放在 ViewController...property (nonatomic, copy) NSMutableArray *list; @property (nonatomic) NSInteger currentPage; 二、进一步:开发一定的时间后...---- 开发一段时间后,知道要把数据单独管理,给ViewController瘦身,同时提高数据的可重用性。...开发中推荐YYModel,JSONModel在多线程写入时,没有做同步,会有crash的情况发生。
介绍 iOS有几种存储数据在本地的方式,比如属性表plist、coredata的数据库存储等等,这里讲解归档这种存储方式。...归档是一种翻译的名字,原名叫 Archiver ,可以理解成将数据以序列化的方式存储在本地,像是将文件放在文件夹中一样,进行资料的归档存放。...其实我所理解的这个过程很像压缩与解压,在存储多对象时我们待会也会看到确实有一个 encode 和 decode 的过程,方法名就是这个,所以为了便于理解也可以想象成将数据压缩成一个压缩包后存储在本地,要恢复数据时再解压就可以了...,当然要有存储的位置,所以首先获取设备的目录并且建立一个要存储归档数据的目录,注意后缀名要是 .archiver 。...解档使用的是 unarchiveObjectWithFile: 方法,从数据的存储路径获取归档文件进行解档,就得到了我们存储的原始数据了。
在实际的项目开发中,数据持久化是我们必须要考虑的一个事情,如何把我们需要的数据进行持久化处理。...在此之前,一些轻量级的数据类型我一般比较喜欢用NSUserDefaults来存储,因为首先这是一个单例,而且使用简便,数据之间传递自由,所以很适合用来保存简单的数据。...NSKeyedArchiver能够存储的数据范围很广,因为它对应着MVC中的Model层,即实体类。在程序中,我们会在Model层定义很多的entity,例如name、room、device等。...即 [super encodeWithCoder:aCoder] 和[super initWithCoder:aDecoder] 方法 使用 : 因为之前我提过 我们要存储一个数组,那么我们可以把数组中的数据转化成...[[NSUserDefaults standardUserDefaults]synchronize]; 三行代码,就把NSKeyedArchiver和NSUserDefaults结合来存储数据了
前言: 数据存储在应用开发中也是必不可少的一块功能,在Electron开发中支持将数据持久化到本地文件中,浏览器提供的介质和SQLite数据库中,SQLite作为一款轻量级的关系数据存储在移动端开发中也广泛应用...本地文件存储: 存储目录: 因为不通的系统的文件目录不统一,Electron提供了专有的API来方便我们获取目录(app.getPath("userData");) 常见的用户目录: desktop、documents...(https://github.com/sindresorhus/electron-store) SQLite数据存储: 安装node-sqlite3扩展: npm install sqlite3 --...electron 安装knexjs扩展: npm install knex --save 《因sqlite未安装成功,调试后补充》这个地方真是一路坑,有没有踩过坑的留个地址 总结: 以上就是在Electron开发关于数据的存储方式...,不同的数据适用于不同的方式存储,在实际开发中可灵活运用,浏览器储存的方式就不再进行介绍了。
Android开发中常用的数据存储 Android之数据存储 Android——SharedPreferences存储数据方式 Android Android数据库存储 1,Android数据库...- vrix的专栏 - 博客频道 - CSDN.NET rawQuery()方法的使用例子:_Android Sqlite数据库学习笔记_Android 安卓 开发_手机开发__www.iteedu.com...的专栏 - 博客频道 - CSDN.NET 怎么在android studio查看sqlite数据库文件_百度知道 安卓手机开发,创建SQlite数据库后,默认路径是存储在哪?..._百度知道 3,GreenDao GreenDao封装后使用 Android数据存储之GreenDao 3.0 详解 Android Studio配置greenDao框架详解--说说那些坑 GreenDao...讲义3:带你了解查询生成器和更加复杂的查询 使用GreenDao对数据库进行操作 Android远程服务器存储 Android之远程服务器存储
10 5、多语言接口 11 SQLite数据库支持很多语言编程接口,比如C\C++、Java、Python、dotNet、Ruby、Perl等,得到更多开发者的喜爱。...12 6、安全性 13 SQLite数据库通过数据库级上的独占性和共享锁来实现独立事务处理。这意味着多个进程可以在同一时间从同一数据库读取数据,但只有一个可以写入数据。...数据库存放位置: data/data/包名/数据库名 ?...------------------------------------------------------------------------------------------- 相关知识: 安卓开发..._数据存储技术_外部存储 安卓开发_数据存储技术_内部存储 安卓开发_数据存储技术_SharedPreferences类
领取专属 10元无门槛券
手把手带您无忧上云