首页
学习
活动
专区
工具
TVP
发布
您找到你想要的搜索结果了吗?
是的
没有找到

iOS开发常用之数据库、缓存处理

数据库 FMDB - 多线程FMDatabaseQueue实例,FMDB数据库的使用演示和封装工具类,基于fmdb的基本操作 通过fmdb进行的数据库的基本操作(增删改查)查找是使用UISearchBar...realm-cocoa - Realm是一个真正为移动设备打造的数据库,同时支持Objective-C和Swfit.Realm宣称其相比Sqlite,在移动设备上有着更好的性能表现,官方中文 ,iOS...RealmIncrementalStore.swift - RealmIncrementalStore.swift:集Realm数据库和CoreData对象模型两者优势的Realm数据库访问类。...官方教程,加密你的SQLite - 各种sqlite数据库加密介绍 。SQLCipherDemo下载 。...YYCache - 高性能的iOS缓存框架。 RuntimeDemo - 运行时自动归档/解档,源码分析。 Cache.swift - 一款简单,易用的缓存库。

1.9K40

iOS FMDB数据库实现增删改查

FMDB是一个轻量级的数据库,用于将网络资源存储在本地。项目中使用 ARC 还是 MRC,对使用 FMDB 都没有任何影响,FMDB 会在编译项目时自动匹配。...一:FMDB优点 1.使用起来更加面向对象,省去了很多麻烦、冗余的C语言代码 2.对比苹果自带的Core Data框架,更加轻量级和灵活 3.提供了多线程安全的数据库操作方法,有效地防止数据混乱 二:将...Phases->Link Binary With Libraries,然后点击+号引用该动态库) 三:FMDB主要的核心类: 1.FMDatabase 一个FMDatabase对象就代表一个单独的SQLite数据库...四:FMDB的增删改查 通常对数据库的操作,我们一般称为CURD,即对表进行创建(Create)、更新(Update)、读取(Read)和删除(Delete)操作。...对数据库中存储的每一个值都有一个类型 1. NULL 这个值为空值 2. INTEGER 值被标识为整数,依据值的大小可以依次被存储1~8个字节 3. REAL 所有值都是浮动的数值 4.

92320

iOS】基于Realm数据库的记账软件--Realm数据库(一)

2、Realm数据库 2.1、概述 Realm 是一个跨平台的移动数据库引擎,2014年7月发布,准确来说,它是专门为移动应用所设计的数据持久化解决方案之一。...2.2、特点 Realm有如下特点: 跨平台:现在绝大多数的应用开发并不仅仅只在iOS平台上进行开发,还要兼顾到 Android平台的开发。...为两个平台设计不同的数据库是愚蠢的,而使用 Realm 数据库iOS和Android 无需考虑内部数据的架构,调用Realm提供的API 就可以完成数据的交换,实现“一个数据库,两个平台无缝衔接 ”...可视化:Realm 还提供了一个轻量级的数据库查看工具,借助这个工具,开发者可以查看数据库当中的内容,执行简单的插入和删除数据的操作。...Realm 会自行检测新增和需要移除的属性,然后自动更新硬盘上的数据库架构 } }; // 告诉 Realm 为默认的 Realm 数据库使用这个新的配置对象 [RLMRealmConfiguration

1.3K20

iOS CoreData (二) 版本升级和数据库迁移

前言:最近ChinaDaily项目需要迭代一个新版本,在这个版本中CoreData数据库模型上有新增表、实体字段的增加,那么在用户覆盖安装程序时就必须要进行CoreData数据库的版本升级和旧数据迁移...接下来在我之前写的 iOS CoreData (一) 增删改查 示例基础上进行演示: 1、新建一个版本的数据库模型Model2: 选中Model.xcdatamodeld文件,选择菜单editor->...Add Model Version 取名为:Model2.xcdatamodel,然后就可以发现Model.xcdatamodeld目录下有两个版本的数据库模型 ?...修改新数据模型Model2.gif 4、设置数据库参数options,打开数据库升级迁移的开关。...CoreData调试.png 之前相关文章:iOS CoreData (一) 增删改查

1.3K50

iOS CoreData (二) 版本升级和数据库迁移

前言:最近ChinaDaily项目需要迭代一个新版本,在这个版本中CoreData数据库模型上有新增表、实体字段的增加,那么在用户覆盖安装程序时就必须要进行CoreData数据库的版本升级和旧数据迁移,...接下来在我之前写的 iOS CoreData (一) 增删改查 示例基础上进行演示:1、新建一个版本的数据库模型Model2: 选中Model.xcdatamodeld文件,选择菜单editor->Add...Model Version 取名为:Model2.xcdatamodel,然后就可以发现Model.xcdatamodeld目录下有两个版本的数据库模型 [add model version.gif...options,打开数据库升级迁移的开关。...ArgumentsPassed On Launch中添加下面两个选项,如图: (1)-com.apple.CoreData.SQLDebug (2)1 [CoreData调试.png] 之前相关文章:iOS

1.3K100

iOS存储自定义类型到NSUserDefaults数据库

3.3 数据库缓存性能进行优化 3.4 测试验证 前言 一般通过以下两种方式使用磁盘缓存: ·文件缓存 ·数据库缓存(一般是指在SQLite数据库) 对于写入性能,SQLite数据库优于文件缓存;对于读取性能...当每页缓存容量在8192B到16384B之间时,数据库拥有最好的读写性能。 如果单条数据小于100KB时,则从SQLite数据库中读取数据速度更快;单条数据大于100KB时,则从文件中读取速度更快。...I 沙盒 我们都知道,iOS系统为了保证系统的安全性,采用了沙盒机制(即每个应用程序都会有自己的一个独立存储空间)。 其原理是通过重定向技术,把应用程序生成和修改的文件重定向到自身文件夹中。...因此,在iOS应用程序里,磁盘缓存的数据一般都存储在沙盒中。...而Preferences文件夹保存的是应用程序的偏好设置,即iOS系统的设置应用会从该目录中读取偏好设置信息。因此,该目录一般不用于存储应用程序产生的数据。

93210

iOS--React Native FMDB数据库插件(内附Demo)

一:介绍 React Native (简称RN)是Facebook于2015年4月开源的跨平台移动应用开发框架,是Facebook早先开源的JS框架 React 在原生移动应用平台的衍生产物,目前支持iOS...另外,这些博文都是来源于我日常开发中的技术总结,在时间允许的情况下,我会针对技术点分别分享iOS、Android两个版本,如果有其他技术点需要,可在文章后留言,我会尽全力帮助大家。...,适合使用那个数据库方法 创建数据库DataBase.db 打开数据库 执行sql语句 JavaScript调用浏览器方法 三:实现源码分析 1....判断数据库语句,适合使用那个数据库方法 由于数据库查询语句中的查询参数,需要通过接口传入,并不是和sql语句一起传入,所以需要进行拼接,这就需要用到数据库查询方法querySQLite,因为查询语句中包含...打开数据库 判断数据库表是否已创建,如果创建成功,或者已经存在数据表,即可打开数据库,源码如下: if (self.db) { if ([self.db open]) {

67610

iOS原生sqlite3框架操作数据库

iOS开发的基本上都知道fmdb,自从用了fmdb之后都忘记了原生的sqlite3操作了(fmdb太好用了)。...SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库,这意味着与其他数据库一样,您不需要在系统中配置。...SQLite是一个轻量级的关系数据库。...SQLite最初的设计目标是用于嵌入式系统,TA占用资源非常少,在嵌入式设备中,只需要几百K的内存就够了,目前应用于Android、iOS、Windows Phone等智能手机。...SQLite支持的数据类型 类型 说明 INTEGER 有符号整型 REAL 浮点型 TEXT 字符串类型,采用UTF-8 UTF-16编码,在iOS中注意转换 BLOB 大二进制对象类型,能够存放任何二进制数据

1.2K50

iOS开发笔记(九)— 数据库、Crash、内存问题分析

前言 分享iOS开发中遇到的问题,和相关的一些思考,本次内容包括:UIKit的iOS11问题、数据库问题定位、线上Crash处理、内存问题分析。...正文 1、iOS 11的UITabbar的高度异常 问题描述:iOS 11+iPhone,在横竖屏切换的场景下,UITabbarViewController的底部栏UITabbar会出现高度异常。...问题定位:CoreData数据库迁移使用的是系统提供的自动迁移,经过本地测试,确实存在数据库较大的情况下,升级时间较长的问题。 那么如何确定数据库是哪些表是瓶颈?...用户的数据库比较大,不可能进行整个数据库上传操作;而CoreData并不支持获取某个表的大小。 可以采取一种方案:用户上报数据库每张表的行数,本地通过工具求出每张表的平均值,用以估算每张表的大小。...后记: 该问题只出现在iOS 8。在iOS 11的机型上,通过调试我们可以获取到self.data=...这一行在执行时,关于self的内存引用情况: ?

82720

iOS第三方数据库FMDB使用方法

工程中经常需要使用数据库来保存一些数据在本地手机上,iOS是自带Sqlite的,但是常用的还是第三方的类库——FMDB。...这里说一说基本的使用方法 对于数据库来说,最开始的当然是建立数据库,在使用数据库前,最好先检查一下数据库是否存在,如果存在,则把数据库实例指向已存在的那个数据库,如果不存在,则创建: //SqlTest.h...self.db = [FMDatabase databaseWithPath:dbFilePath]; } 在找到或创建数据库后,打开一下数据库,如果打开失败,则提示并处理...,打开后,为数据库设置缓存来提高查询效率: if (!...:YES];//为数据库设置缓存,提高查询效率 接下来的工作是建表,这里示例建立一个存储用户名和密码的表:同样的,在使用时,先检查数据库中是否有该表,有则跳过建表过程,没有则建表: if (!

66720

iOS Human Interface Guidelines》——Integrating with iOSiOS整合

iOS整合 和iOS整合的意思是给用户一种吸引人的、愉快的体验来让用户在平台上宾至如归;它不是说要创建一个看起来像复制内置的app一样的app。...将你的独特的app和平台整合的最好方式是理解促进iOS的那些主旨——在Designing for iOS中有这些主旨的描述——并且思考你的app怎样表达它们。...不要混合不同iOS版本下的UI元素风格。你不会希望通过显示看起来像在不同于当前设备运行的iOS系统版本的UI元素来让用户感到迷惑。 一般来说,不要创建一个自定义的UI元素来展现标准的动作。...淡化文件和文档处理 iOS app可以帮助人们创建和操作文件,但这不意味着人们需要思考iOS设备上的文件系统。...利用iOS技术 iOS提供了丰富的技术来用用户期待的方式支持常见的任务和情景。这个期待意味着,将系统支持的技术整合进你的app总是会比设计一个自定义的方式要好。

82730
领券