iOS开发中如何优雅的调试数据库详解

背景

写代码难免出现bug。 储备些调试技能绝对能够提高你的工作效率,让bug无所遁形。相信大家应该都有所体会,我们在开发的时候,数据库的操作一直是一个很棘手的问题,后来发现Android下面有一个第三方的库还挺好用的,就模仿它搞了个iOS的,可以方便的通过浏览器查看、添加、删除、修改数据库。下面话不多说了,来一看看详细的介绍吧。

历史状况

我们来回想一下调试的过程:

如果在模拟器中调试:

  • 找到模拟器应用中数据库的文件位置
  • 拷回到一个比较方便打开的地方
  • 安装一个数据库操作软件
  • 打开数据库文件
  • select/insert/upate/delete...
  • 拷会模拟器应用目录中
  • 运行应用,查看结果
  • 效果不理想,重复1-7步

如果是手机设备,就更麻烦了。。。

解决方案

要是有一个可以不用上面这些步骤、不用安装软件既可以随意操作数据库的方法,那就太好了。。。

还真有,先来看看效果:

列出数据库,显示数据库的表和选中表中的所有记录

条件查询

更新记录:

删除记录:

辅助功能:显示常用信息和userdefault的信息,如:

应用名字、版本号、build号、Document路径、Cache路径等等

集成方法:

  • 在 Podfile中添加:pod 'YYDebugDatabase'
  • run $ pod install
  • application:didFinishLaunchingWithOptions中添加一行代码: [[DebugDatabaseManager shared] startServerOnPort:9002];

然后就可以在浏览器里方便的增删改查了。

源码下载

github地址:https://github.com/y500/YYDebugDatabase

本地下载:http://xiazai.jb51.net/201712/yuanma/iOSDebugDatabase(jb51.net).rar

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对我们的支持。

您可能感兴趣的文章:

  • iOS开发中使用FMDB来使程序连接SQLite数据库
  • iOS开发中使用SQL语句操作数据库的基本用法指南
  • iOS sqlite对数据库的各种操作(日常整理全)
  • iOS中sqlite数据库的原生用法
  • iOS App项目中引入SQLite数据库的教程
  • iOS App使用SQLite之句柄的定义及数据库的基本操作
  • 详解ios中的SQL数据库文件加密 (使用sqlcipher)
  • iOS学习笔记(十六)——详解数据库操作(使用FMDB)
  • iOS中FMDB数据库之增删改查使用实例
  • IOS 数据库升级数据迁移的实例详解
(0)

相关推荐

  • iOS学习笔记(十六)——详解数据库操作(使用FMDB)

    iOS中原生的SQLite API在使用上相当不友好,在使用时,非常不便.于是,就出现了一系列将SQLite API进行封装的库,例如FMDB.PlausibleDatabase.sqlitepersistentobjects等,FMDB (https://github.com/ccgus/fmdb) 是一款简洁.易用的封装库,这一篇文章简单介绍下FMDB的使用. 在FMDB下载文件后,工程中必须导入如下文件,并使用 libsqlite3.dylib 依赖包. FMDB同时兼容ARC和非ARC工

  • iOS App项目中引入SQLite数据库的教程

    引入SQLite sqlite是纯C实现的,所以注定了它是一个跨平台利器,在Android与IOS下均能使用,而且完全可以写出通用的代码,方便我们移植.当然Android和IOS下都有封装过的sqlite给开发者使用,不过这样子一个是不方便移植,另一个是封装后的效率咋样我们也不知道,所以还是原生态的最健康.最后一个重要的原因就是原生的使用也是相当简单.我将在接下来的教程中为您一一讲解. 首先最重要的一点是在工程中导入sqlite,苹果的SDK已经给你包含进来了,所以只要导入一个叫 libsqli

  • iOS中FMDB数据库之增删改查使用实例

    FMDB是一个轻量级的数据库,用于将网络资源存储在本地.FMDB 将 SQLite API 进行了很友好的封装,使用上非常方便,对于那些使用纯 Sqlite API 来进行数据库操作的 app,可以考虑将其迁移到基于 FMDB 上,这对于以后数据库相关功能的开发维护,可以提高不少效率. 什么是FMDB FMDB是iOS平台的SQLite数据库框架 FMDB以OC的方式封装了SQLite的C语言API FMDB的优点 使用起来更加面向对象,省去了很多麻烦.冗余的C语言代码 对比苹果自带的Core

  • iOS sqlite对数据库的各种操作(日常整理全)

    在IOS中使用Sqlite来处理数据.如果你已经了解了SQL,那你可以很容易的掌握SQLite数据库的操作.iOS对于数据库的操作:增加.删除.查找.修改具体介绍如下所示: 首先需要创建一个数据库:本程序的数据库是在火狐浏览器里的插件里写的微量型数据库 火狐找查找SQLite Manager的步骤: 第一步:在工具栏找到附加组件,点击进入 第二步:搜索 SQP,找到并下载,安装完成之后需要重启浏览器 第三步:在工具只乐观找到SQLite Manager,点击打开 SQLite Manager界面

  • iOS中sqlite数据库的原生用法

    在iOS中,也同样支持sqlite.目前有很多第三方库,封装了sqlite操作,比如swift语言写的SQLite.swift.苹果官网也为我们封装了一个框架:CoreData. 它们都离不开Sqlite数据库的支持. 本文主要介绍下,如何在swift中使用原生的sqlite的API. 在Xcode中引入sqlite API 新建一个swift项目后,我们需要让项目引入sqlite的动态链接库: 1.项目配置界面,选择Build Phases 2.点开Link Binary With Libra

  • iOS开发中使用FMDB来使程序连接SQLite数据库

    一.简单说明 1.什么是FMDB FMDB是iOS平台的SQLite数据库框架 FMDB以OC的方式封装了SQLite的C语言API 2.FMDB的优点 使用起来更加面向对象,省去了很多麻烦.冗余的C语言代码 对比苹果自带的Core Data框架,更加轻量级和灵活 提供了多线程安全的数据库操作方法,有效地防止数据混乱 3.FMDB的github地址 https://github.com/ccgus/fmdb 二.核心类 FMDB有三个主要的类 (1)FMDatabase 一个FMDatabase

  • iOS开发中使用SQL语句操作数据库的基本用法指南

    SQL代码应用示例 一.使用代码的方式批量添加(导入)数据到数据库中 1.执行SQL语句在数据库中添加一条信息 插入一条数据的sql语句: 点击run执行语句之后,刷新数据 2.在ios项目中使用代码批量添加多行数据示例 代码示例: 复制代码 代码如下: // //  main.m //  01-为数据库添加多行数据 // //  Created by apple on 14-7-26. //  Copyright (c) 2014年 wendingding. All rights reserv

  • 详解ios中的SQL数据库文件加密 (使用sqlcipher)

    今天本想写一片 GAE+goAgent+SwitchySharp 的指南的!但是突然翻出了前段时间写的关于iOS中的SQL数据库文件加密的代码,于是乎决定今天就先讲讲这个!- 那么goAgent将放在周末,后续的文章中除了文件加密,还有传输数据加密,感兴趣的童鞋 敬请留意. 言归正传,sql的文件加密,我们首先要用到一个库,它就是大名鼎鼎的Sqlcipher,  奉上连接:http://sqlcipher.NET,在ios里 我们需要看的文档是这一篇http://sqlcipher.Net/io

  • IOS 数据库升级数据迁移的实例详解

    IOS 数据库升级数据迁移的实例详解 概要: 很久以前就遇到过数据库版本升级的引用场景,当时的做法是简单的删除旧的数据库文件,重建数据库和表结构,这种暴力升级的方式会导致旧的数据的丢失,现在看来这并不不是一个优雅的解决方案,现在一个新的项目中又使用到了数据库,我不得不重新考虑这个问题,我希望用一种比较优雅的方式去解决这个问题,以后我们还会遇到类似的场景,我们都想做的更好不是吗? 理想的情况是:数据库升级,表结构.主键和约束有变化,新的表结构建立之后会自动的从旧的表检索数据,相同的字段进行映射迁移

  • iOS App使用SQLite之句柄的定义及数据库的基本操作

    句柄 要操纵一个数据库你就得有一个这个数据库的句柄(又碰到这个难以理解的词了,不过确实还没得一个更好的词来替代它).其实你跟本不需要去在乎这个词叫什么,你只要搞清楚他是一个什么玩意儿.就如同鞋子为什么叫鞋子,仔细想想确实也难以理解,不过 清楚他的功能就OK了,不是吗? 句柄在很多地方我们见到过,最常见的就是文件的句柄,我们要操纵一个文件,我们就要取得一个文件的句柄.句柄是个什么东东呢?其实很简单,句柄是一个东东的描述,他被定义为一个结构体,这个结构体可能会包含要描述的东东的具体信息,比如位置.大

随机推荐