展开

关键词

iOS方式之归档

介绍iOS有几种数据在本地的方式,比如属性表plist、coredata的数据库等等,这里讲解归档这种方式。 归档是一种翻译的名字,原名叫 Archiver ,可以理解成将数据以序列化的方式在本地,像是将文件放在文件夹中一样,进行资料的归档放。 = ; 归档一个字符串 if (flag) NSLog(@归档成功); NSLog(@解档后为:%@, );要归档数据进行,当然要有的位置,所以首先获取设备的目录并且建立一个要归档数据的目录 随后的 archiveRootObject: toFile: 方法就是将一个对象归档并到文件位置了,很简单明了,这个方法会返回一个布尔值,表示是否归档成功了。 解档使用的是 unarchiveObjectWithFile: 方法,从数据的路径获取归档文件进行解档,就得到了我们的原始数据了。

6020

iOS自定义类型到NSUserDefaults数据库

1.1 沙盒的根目录下有三个常用的文件夹:1.2 Library文件夹1.3 tmp文件夹1.4 standardUserDefaults 的使用2.1 把字典对象 持久化保到文件中2.2 自定义类型对象到 NSUserDefaults3.1 基本用法3.2 例子:创建一个处理数据库的工具类3.3 数据库缓性能进行优化3.4 测试验证前言一般通过以下两种方式使用磁盘缓: ·文件缓 ·数据库缓(一般是指在 I 沙盒我们都知道,iOS系统为了保证系统的安全性,采用了沙盒机制(即每个应用程序都会有自己的一个独立空间)。其原理是通过重定向技术,把应用程序生成和修改的文件重定向到自身文件夹中。 因此,在iOS应用程序里,磁盘缓的数据一般都在沙盒中。 而Preferences文件夹保的是应用程序的偏好设置,即iOS系统的设置应用会从该目录中读取偏好设置信息。因此,该目录一般不用于应用程序产生的数据。

10110
  • 广告
    关闭

    对象存储COS专场特惠,1元礼包限时抢

    一站式解决数据备份、共享、大数据处理、线上数据托管的云端存储服务,新用户享四重好礼

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    iOS 轻量级

    NSUserDefaults简介在Android和ios都提供了本地轻量级数据,底层实现都是基于key-value的方式。 Android里面的叫SharedPreferences,ios的叫NSUserDefaults,使用上也是非常的简单。我们先看一看NSUserDefaults的API。 比如说我们要用户名(NSString):userName密码(NSNumber):userPassword用户信息(NSDictionary):userInfo那么我们可以定义如下:NSString userPassword=@123456;NSDictionary *userInfo=@{ @age:@29, @sex:@male };BOOL isOn=YES;接着我们使用NSUserDefaults开始对资料进行 setInteger: forKey:@password]; setObject:userInfo forKey:@info]; setBool:isOn forKey:@isOn]; 调用synchronize

    48380

    iOS图片到相册中的两种方式

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/...

    2.3K10

    iOS本地数据

    前言 工作需要,特意准备一篇入门文章,为新人开发者介绍常见的数据。 正文数据数据本质就是运行时的对象保在文件、数据库中。 ,该方法是多线程安全的单例,在沙盒中的是用plist进行保。 比如说一个integer数据: setInteger:1234 forKey:@key_for_test]; 读取的数据: integerForKey:@key_for_test];NSUserDefault keychain是iOS提供给App敏感和安全相关数据用的工具。keychain同样会被iTunes备份,即使App重装仍能读取到上次保的结果。 总结iOS的本地数据,其实就是内数据的序列化和反序列化。

    44320

    iOS学习——iOS常用的方式

    不管是在iOS还是Android开发过程中,我们都经常性地需要一些状态和数据,比如用户对于App的相关设置、需要在本地缓的数据等等。 根据要的的数据的大小、性质以及类型,在iOS和Android中哪个都有多种方式。 其中,iOS中的方式主要包括以下六类:plist文件(属性列表)preference(偏好设置)NSKeyedArchiver(归档)SQLite 3CoreData手动放沙盒一、沙盒机制 在研究方式之前 ,我们有必要先研究下这些文件会到什么地方去,这就需要我们了解iOS App特有的沙盒机制了。 NSString *path = NSTemporaryDirectory();NSLog(@%@, path);二、方式 在文章的开始已经讲到了,iOS中本地的方式一般有6种。

    787100

    点进来你就懂的iOS数据

    上面是百度百科对沙盒简介,iOS这边每个APP都对应有一个自己的沙盒,用于App自己的数据。安全角度上每个App只能访问自己沙盒里的数据而不能跨域访问别的App的数据。 下面是iOS中几种针对轻量级数据的方式:NSUserDefault写入文件归档Keychain 1、NSUserDefault苹果提供的一个单例类,只能用于一些轻量级的数据或者APP用户的一些偏好设置 通过让的数据模型遵守NSCoding或NSSecureCoding(iOS 6以后)协议并且实现其两个协议方法使用NSKeyedArchiver对自定义的数据对象进行序列化。 更好一点的可以利用数据库来操作增删改查,iOS有一个非常好用的数据库框架FMDB (基于iOS平台的SQLite数据库框架),可以多了解下。 关于作者:热河,普元移动端开发工程师,互联网技术爱好者,专注于iOS开发。目前参与Mobile 8.0项目的开发,主要接触RN技术的应用,黏合前端代码与iOS底层之间的交互。

    52210

    iOS中block块的位置&内管理引iOS分区block块位置循环引用结

    引block是iOS开发中一种使用方便的代码块,但是在使用过程中也很容易不小心就造成问题,本文讲解其位置所决定的内修饰以及如何避免循环引用。 iOS分区先讲讲大的,关于iOS在内中的分区情况。内分为五个区:栈区、堆区、全局区、常量区、代码区。 这五个区在物理上是分开的,如下图所示:这五个区的内容也各有划分:栈区(stack):这一块区域系统会自己进行管理,我们不用干预,主要一些局部变量,以及函数跳转时的现场保护。 全局区(静态区 static):全局变量和静态变量都在这里,已经初始化的和没有初始化的变量会分开在相邻的区域,程序结束后系统来释放。常量区:常量字符串和const常量。 代码区:顾名思义,就是我们写的代码。block块位置block块根据情况有两种可能的位置,一种在代码区,一种在堆区。

    4910

    iOS常用的数据方式

    2.2 案例:UUID来解决设备唯一标识符获取方案2.3 iOS安全之敏感逻辑的保护方案4.1 例子:自定义类型4.2 NS_DESIGNATED_INITIALIZER 宏的使用4.3 归档NSArray5.1 应用数据的常用方式1、preference偏好设置 2、XML属性列表归档(plist)3、使用Keychain ,例如UUID来解决设备唯一标识符获取方案 4、NSKeyedArchiver 一般体积大、不需要备份的非重要数据5 LibraryPreference:保应用的所有偏好设置,iOS的Settings(设置)应用会在该目录中查找应用的设置信息。 Keychain是OS X和iOS都提供的一种安全敏感信息工具。比如,我们可以在Keychain中用户名、密码等信息。 Keychain的安全机制从系统层面保证了的敏感信息不会被非法读取或者窃取。

    11320

    iOS:本地json文件读取、

    NSString *filePath = ; NSData *json_data = ; BOOL a = ; if (a) { NSLog(@路径:%@,filePath); }else { NSLog(@失败

    1.1K10

    iOS 使用BGFMDB信息到本地数据库教程【应用场景:商户首次登陆同意协议流程】

    1.1 流程1.2 数据模型前言本文例子:商户首次登陆app同意协议流程需求背景是否同意协议根据商户进行区分,不是根据设备。用户同意协议之后,需同步信息到服务端。 定义信息的表名 ** 是否同意协议信息:根据商户手机号进行,主要用于首次登陆 *NSString * const QCTTableName4isAgreeMent=@x x x x x x ; 新增信息的模型isAgreeMentM@interface isAgreeMentM : NSObject@property (nonatomic,copy) NSString *loginAccount 获取最近一次登陆的手机号码 isAgreeMentM.loginAccount = QCTSession.shareQCTSession.tmpLoginAccount; ; return ; } 登陆成功之后,根据本地的信息和接口返回的数据进行判断当前商户是否同意协议 } 1.2 数据模型 h@interface isAgreeMentM : NSObject@property (nonatomic,copy) NSString *loginAccount; **

    13110

    iOS 本地轻量级数据之NSUserDefaults

    NSUserDefaults简介在Android和ios都提供了本地轻量级数据,底层实现都是基于key-value的方式。 Android里面的叫SharedPreferences,ios的叫NSUserDefaults,使用上也是非常的简单。我们先看一看NSUserDefaults的API。 比如说我们要 用户名(NSString):userName 密码(NSNumber):userPassword 用户信息(NSDictionary):userInfo那么我们可以定义如下: NSString @123456; NSDictionary *userInfo=@{ @age:@29, @sex:@male }; BOOL isOn=YES;接着我们使用NSUserDefaults开始对资料进行 setInteger: forKey:@password]; setObject:userInfo forKey:@info]; setBool:isOn forKey:@isOn]; 调用synchronize

    46880

    iOS开发】如何将 Array 在本地

    做开发的时候,我们经常需要将数据保在plist文件中,用这种方式来将数据写入磁盘,这样退出 App 再打开的话,上次写入的文件还在。 , atomically useAuxiliaryFile:Bool) ->Bool 然而 writeToFile 这个函数却只属于 NSArray假如我自定义了一个Person类来写人,然后用数组来 想要把它在本地plist文件中,需要用到 NSKeyedArchiver 和 NSKeyedUnarchiver但是在此之前,你需要把你的类改造一下。?起初的类? 将peopleArray到本地plist?将peopleArray从本地plist中取出附上我在 StackOverFlow 上的相关讨论

    61110

    iOS开发--常用的数据方式

    iOS应用数据的方式1、XML属性列表(plist)归档 2、preference(偏好设置) 3、NSKeyedArchiver归档(NSCoding) 4、SQLite3 5、Core Data1 、plist文件-(沙盒)注意:不可以自定义对象,一个对象能不能使用plist,可以通过看他有没有write to file方法入: 获取沙盒路径 NSString *cachePath NSUserDomainMask, YES); 拼写全路径 NSString *filepath = ; 读取 NSArray *arr = ; NSLog(@%@, arr);2、偏好设置-(沙盒 )** 1.不需要关心文件名** ** 2.快速做键值对** ** 3.基本数据类型都可以** NSUserDefaults *defaults = ; ; ; iOS7之前不会马上同步 ,所以适配iOS7之前的时候要加 ;读取: NSUserDefaults *defaults = ; NSString *str = ; NSLog(@%@, str);3、归档-(沙盒)可以自定义对象

    16520

    iOS开发】两个函数搞定本地

    平时我们经常会采用 NSUserDefaults 或者 Plist 来数据到设备,这样即使 App 被关闭,下次再打开的时候数据还在。 这里我写了两个函数来供大家使用,一个用来数据,一个用来读数据。 NSKeyedUnarchiver.unarchiveObjectWithFile(path) { returnObject = content print(Get - Plist) } } } return returnObject}函数名和参数名都一看便知是什么意思,只要你取数据都用的是同一个 这里多提供了一个 type 选项来选择通过 NSUserDefaults 或者 Plist 来数据。 但是要注意,在这里 NSUserDefaults 只支持 NSArray、NSString 等基本类型,如果你要自定义类型的实例,必须使用 StoreType.plist 进行

    20320

    架构」块、文件和对象(第1节)

    这是因为即使不是所有的数据都设备上,最重要的数据以及分析结果也会被设备上。这将导致空间的需求增加。 是什么使对象更好地适应数据爆炸要理解对象所提供的好处,必须首先了解文件和块的旧概念,因为它们之间有很大的差异。 文件、块和对象之间的区别文件和块是在NAS和SAN系统上数据的方法。在NAS系统上,它将其作为网络文件系统公开。 应用程序然后决定数据块是否在系统中,以及在什么特定的磁盘或介质上。最后如何组合这些块以及如何访问它们决定了应用程序。SAN中的块没有与系统或应用程序相关的元数据。 对象系统中的许多对象都在给定的磁盘上。在纯形式的对象中,“只能”保一个文件(对象)的一个版本。如果用户进行了更改,相同文件的另一个版本将为新对象。

    52424

    器与单元

    CPU是计算机的核心部件,CPU的运行离不开器。指令和数据放在器中,比较常见的器有内。这次我们讨论计算机内部的器。 器被划分为若干个单元,每个单元从0开始顺序编号,例如一个器有128个单元,那么编号就是0~127.一个单元有多大呢?一个单元一个字节(Byte),即8bit。 bit是一个二进制位,是1或者0.图1展示了bit、Byte和单元的关系。更多内容请移步比特、字节、字。大容量的器可以用以下方法来计量(B代表Byte)。 大容量的器可以用以下方法来计量(B代表Byte)。 1KB=1024B 1MB=1024KB 1GB=1024KB 1TB=1024GB指令和数据器中,在器中是“无差别”的,只有在CPU读取的时候CPU会区分指令和数据。

    31020

    DOM——客户端

    通过这些对象,WEB应用程序能够把信息到客户端,并再以后需要的时候进行获取。其中:sessionStorage 会话,其中的数据在页面会话结束时会被自动清除。 DOM与cookie的相同点:本地和cookie一样提供了把数据保到本地的能力,页面刷新或者关掉浏览器后,数据依然在。本地cookie一样只能字符串数据。 DOM与cookie的不同点:容量大。虽然不同浏览器的标准可能不一样,主流的一般都在5~10M,远超cookie的4k。 ,该的空间是整个子域共享的。 ; }清空调用clear()方法将会清空整个域的数据,包括和当前页面共享一个空间的其他页面。localStorage.clear();sessionStorage.clear();

    34220

    KVM池和

    KVM的选项有多种,包括虚拟磁盘文件、基于文件系统的和基于设备的。虚拟磁盘文件 当系统创建KVM虚拟机的时候,默认使用虚拟磁盘文件作为后端。 使用KVM池 为简化KVM管理的目的,可以创建池。在宿主机上创建池,可以简化KVM设备的管理。采用池的方式还可以实现对提前预留的空间的分配。 池管理:基本概念显示池与卷的信息基于目录的池基于磁盘的池基于分区的池基于LVM的池基于iSCSI的池基于NFS的池1) 池的基本概念 池是一个由libvirt管理的文件 池被分为卷,这些卷保虚拟镜像或连接到虚拟机作为附加。libvirt通过池的形式对进行统一管理、简化操作。对于虚拟机操作来说,池和卷并不是必需的。支持以下类型池:? 以上就是池的一些示例,下面是卷的示例卷管理:卷概述池被分割为卷(StorageVolume)卷文件块设备(如物理分区、LVM逻辑卷等)Libvirt管理的其他类型的抽象?

    1.4K60

    iOS-ZFJRedisLib-超便捷的键值对方案,Sqlite数据模型库,APP缓解决方案

    前言本人以前写过一个数据模型方法,是我在上上家公司做缓框架的时候写的,具体也就是在FMDB的基础上封装,直接对数据模型进行操作,如下:《iOS-基于FMDB的操作封装,模型对象的增删改查》最近本人也不是很忙 ,加之在Python项目中用到Redis和在APP中用到NSUserDefaults,我就想做一个便捷的基于数据库的键值对方案,当然这个方案并不比Redis优秀,我们也知道Redis是直接从内中读取 ,所以速度方面没法说,但是在APP中我们不能把键值对放在内中吧,本来APP的内就不宽裕! ZFJRedisLib功能结构ZFJRedisLib主要包含ZFJRedis和ZFJTable两部分,ZFJRedis主要是用于键值对,使用简单方便;ZFJTable主要是对于数据模型进行增删改查操作 全部API如下:ZFJRedisZFJRedis将会自动在本地创建一个ZFJRedis的表,用于键值对数据;1.取值字符串-NSString NSString ; 取值 NSString *value

    18400

    相关产品

    • 归档存储

      归档存储

      腾讯云归档存储(Cloud Archive Storage, CAS)是面向企业和个人开发者提供的低成本、高可靠且易于管理的云端离线存储服务,适用于海量、非结构化数据长时间备份,实现数据的容灾和c。归档存储采用分布式云端存储,您可以通过 RESTful API 对存储的数据进行访问。归档存储易于管理,您无需关心硬件维护及容量扩展;按实际使用量付费,为您节省额外成本。

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭

      扫码关注云+社区

      领取腾讯云代金券