美文网首页
iOS数据本地化

iOS数据本地化

作者: 一代骄马 | 来源:发表于2018-05-25 11:08 被阅读48次

1.NSUserDefaults

2.归档   浅谈iOS本地数据保存 - 简书

使用NSKeyedArichiver /ɑːkaɪv/进行归档、NSKeyedUnarchiver进行接档,这种方式会在写入、读出数据之前对数据进行序列化、反序列化操作。

//归档:对象->NSData的过程

//解归档:NSData->对象的过程;

//对数据的操作效率不高,不建议存储大量的数据

//任何对象实现归档需要遵循NSCoding 协议,NSArray NSString NSDictionary 已经遵守了协议 直接归档即可;

BOOL isSuccessed= [NSKeyedArchiver archiveRootObject:array toFile: @""];

NSArray *tmp=(NSArray *) [NSKeyedUnarchiver unarchiveObjectWithFile:@""];

//任意对象的归档  需要遵守归档协议 NSCoping,并实现归档和解归档的方法(encodeWithCoder和initWithCoder)再分别对类中的变量进行归档和解归档;

3.文件保存

4.数据库sqlite3:

    fmdb

CoreData

CoreData提供了一种“对象-关系映射”的功能,能将OC对象转化成数据,保存Sqlite中。CoreData的好处就是能够合理管理内存,避免sql语句的麻烦(不用写sql语句)。

5.NSUrlCache

6.KeyChain(钥匙串)等多种方式 (与沙盒无关)

沙盒目录

fmdb

FMDB - 潜意识 - 博客园

它是对libsqlite3框架的封装,用起来的步骤与SQLite使用类似,并且它对于多线程的并发操作进行了处理,所以是线程安全的。

FMDB框架中重要的框架类

FMDatabase

FMDatabase对象就代表一个单独的SQLite数据库,用来执行SQL语句

FMResultSet使用FMDatabase执行查询后的结果集

FMDatabaseQueue用于在多线程中执行多个查询或更新,它是线程安全的

2.keychain

SFHFKeychainUtils

相比于NSUserDefaults来说,KeyChain保存更为安全,而且KeyChain里面保存的数据不会因为app删除而丢失。

KeyChain还有一个用途,就是替代UDID。UDID已经被废除了,所以只能用UUID代替,所以我们可以把UUID用KeyChain保存。

来源:iOS Keychain(钥匙串) 原理和APP之间共享信息(例如:账号密码) - freestyle个人页面 - 开源中国

##关于共享 Keychain的数据可以透过Group Access的方式,让资料可以在App间共享,Google系列的App (Gmail、Google+、日历…)就是通过这样的方式来记录使用者登入信息,只要使用者在其中一个App中完成登入了,其他的App也可以读取到同相的登入咨询进行登录。 ###进入Capabilities,将Keychain打开 

开启Keychain后,会自动新增一个Keychain Group,使用的是Bundle Identifier。 同时也会自动新增一个entitlements文件,里面也会有一个Access Group,名为 $(AppIdentifierPrefix)+你的bundleID 

(AppIdentifierPrefix)可以是开发者的代号需要登录才会有,也就是开发者证书后小括号的内的英文数字组合。使用$(AppIdentifierPrefix)只能被同一个开发者账号的app来存取,以防被有心人盜取。 

相关文章

  • iOS 数据本地化(开篇)

    iOS Application的文件目录: 何为数据本地化? 数据本地化:又名持久化,存储在磁盘本地当中。 为何要...

  • iOS 本地化存储

    简介 iOS中常常会用到本地化存储,下面就总结一下常用的几种本地化存储方式 1. iOS数据存储的几种方式 Pre...

  • iOS 钥匙串存取数据(SAMkeychain)

    iOS 中常见的数据本地化有很多种,例如: FMDB Core Data NSUserDefaults SQLit...

  • iOS - 本地化

    iOS - 本地化 准备 项目添加本地化:Project - Info - Localizations - 添加需...

  • 记录iOS开发中遇到的坑

    1.关于本地化数据(NSUserDefault) 当关键数据在iOS版本更新时发生数据类型改变时,最好使用新的ke...

  • iOS 多国语言本地化与App内语言切换(Swift)

    iOS 多国语言本地化与App内语言切换(Swift) iOS 多国语言本地化与App内语言切换(Swift)

  • iOS数据本地化

    1.NSUserDefaults 2.归档 浅谈iOS本地数据保存 - 简书 使用NSKeyedArichiver...

  • iOS数据本地化

    UserDefaults Plist存储NSArrayNSDictionary 归档针对单一的对象。 FMDBFM...

  • Magical Record

    1.Magical Record的出现 iOS开发中常使用core Data做数据本地化来代替直接操作sql...

  • iOS语言国际化

    iOS 项目本地化1 项目名称本地化2 项目中字符串的本地化3 项目中的图片的本地化(可以归到字符串的本地化 不同...

网友评论

      本文标题:iOS数据本地化

      本文链接:https://www.haomeiwen.com/subject/qwuyjftx.html