第一部分:FMDB本地数据库存储数据 --使用为了保证线程安全做法 ppt FMDatabase这个类是线程不安全的,如果在多个线程中同时使用一个FMDatabase实例,会造成数据混乱等问题 为了保证线程安全,FMDB提供方便快捷的FMDatabaseQueue类 FMDatabaseQueue的创建 FMDatabaseQueue *queue = [FMDatabaseQueue
转载 2023-06-06 15:23:41
165阅读
## 使用FMDB实现多线程操作iOS数据库 ### 引言 在iOS开发中,数据库操作是非常常见的需求,而FMDB是一个非常常用的数据库框架,它封装了SQLite的操作,提供了简洁易用的接口。在多线程环境下使用FMDB可以提升数据库操作的性能,本文将教您如何在iOS中使用FMDB进行多线程操作。 ### 流程概述 在使用FMDB进行多线程数据库操作时,我们需要遵循以下流程: ```mer
原创 2023-12-22 10:11:55
42阅读
目录一、engine 与 connection1.1 engine1.2 链接(connection)二、多线程与SQLAlchemy 中的session2.1 创建 session2.2 多线程中使用 session三、多线程共享 session3.1 线程间共享 session 易报错3.2 多线程间通过互斥锁互斥访问 session小结一、engine 与 connection1.1 eng
iOS中有4中多线程操作方式,分别是:NSObject多线程技术 、NSThread的多线程技术 、 NSOperation,面向对象的多线程技术 、 GCD,C语言实现的多线程技术。接下分别总结这几种方式的用法一、  NSObject多线程技术因为iOS中的所有类都是NSObjcet的子类,所以任何类都能够进行如下操作: 使用performSelectorInBa
转载 2023-08-19 16:23:14
91阅读
iOS中一些时间比较长的操作都应该放在子线程中,以避免UI的卡顿。而sqlite 是非线程安全的,故在多线程中不能共用同一个数据库连接,否则会导致EXC_BAD_ACCESS。所以我们可以在子线程中创建一个新的db连接(新建一个db对象),然后再操作数据库。 如果选择FMDB,除了以上所说的方式...
转载 2015-06-25 17:41:00
416阅读
2评论
转载 2015-06-25 17:55:00
193阅读
上一篇博客讲述SQLite的使用,本篇将讲述FMDB源码,后面也会讲解SQLite在使用与FMDB的区别。FMDB是以OC方式封装SQLite中C语言的API,也是iOS中SQLite数据库的框架,在目前研发项目中使用的也是比较广泛的。下面直入正题 一、FMDB源码结构首先我们来看一下FMDB的源码的结构与组成,如下图:我们可以从结构上看出FMDB在共有5个文件组成,其中FMDB.h用于
# iOS中的FMDB使用子线程进行数据库操作 在iOS开发中,FMDB是一个流行的SQLite数据库封装库。使用FMDB进行数据库操作时,通常需要考虑多线程的问题,以保持应用的性能和响应性。本文将重点介绍如何在子线程中使用FMDB进行数据库操作,并提供代码示例,以帮助开发者更好地理解这一过程。 ## FMDB简介 FMDB是一个强大的Objective-C库,封装了SQLite的操作,提供
swift的多线程学习同OC一样,分三者来学习,Thread,Operation和GCD首先:Thread 每个对象对应一个线程,优点是量级较轻,使用简单,缺点是需要开发者自行管理线程的生命周期,线程同步,加锁解锁,睡眠以及唤醒灯操作其次:Operation技术上不需要关心线程的管理和线程同步的事情,只需要关系业务的处理逻辑,缺点是只能实现它或者使用它的定义好的子类最后:就是实际应用最多的GCD了
转载 2023-06-12 16:38:01
140阅读
1.什么 是 FMDB FMDBiOS 平台的 SQLite 数据库框架 FMDB 以 OC 的方式封装了 SQLite 的 C 语言 API FMDB 的优点 使用起来更加面向对象,省去了很多麻烦、冗余的 C 语言代码 对比苹果自带的 Core Data 框架,更加轻量级和灵活 提供了多
转载 2024-02-01 23:31:26
73阅读
优点 : 对多线程的并发操作进行处理,所以是线程安全的以OC的方式封装了SQLite的C语言API,使用起来更加的方便;FMDB是轻量级的框架,使用灵活缺点: 因为它是OC的语言封装的,只能在iOS开发的时候使用, 所以在实现跨平台操作的时候存在局限性FMDB中重要的类FMDatabase : 一个FMDatabase对象就代表一个单独的SQLite数据库, 用来执行SQL语句FMResultSe
在开发过程中,我们经常会使用到手机本地数据库的使用,但是数据库的使用,在app也只是基本的增删改查而已。FMDB一个很好的数据库框架,为我们开发提供更好的操作。首先我们想导入一下FMDB,有两种方式第一种Cocoapods安装pod 'FMDB'第二种我们只需要直接将FMDB拖入到工程即可,附上下载链接FMDB GitHub链接: https://github.com/ccgus/fmd
转载 2023-07-11 19:02:24
130阅读
(1)--把src文件夹添加到project中,把 libsqlite3.dylib添加到到project中 (2)把 #import "FMDatabase.h"加到 ViewController.h中。。。。。。 (3) ViewController.m 数据库存放在哪里。创建数据库 (4)查看有没有数据库,有就打开,没有就创建----在数据库里面创建表 (5)数据库基本操作,增,删,改,查 (6) ....... Read More
转载 2013-05-08 20:19:00
116阅读
2评论
FMDB是将sqlite3的语法封装成OC的语法基于sqlite3的使用的步骤:1.创建打开一个数据库2.向数据库里添加一个表3.数据的增删改查首先这里要使用一个第三方库fmdb,导入这个之后,操作如下添加-fno-objc-arc然后连接库中连接libsqlite3代码如下:// // ViewController.m // 01-FMDB的基本适用 // // Created byo
转载 2023-12-22 21:52:48
42阅读
FMDB、PlausibleDatabase、sqlitepersistentobjects等,FMDB (https://github.com/ccgus/fmdb) 是一款简洁、易用的封装库,这一篇文章简单介绍下FMDB的使用。在FMDB下载文件后,工程中必须导入如下文件,并使用libsqlite3.dylib 依赖包。FMDB同时兼容ARC和非ARC工程,会自动根据工程配置来调整相关的内存管
题记:时间飞快,转眼又是两个月,这期间又经历了一个小的app,之后接触了一个新的内容IM,当然最近一段时间内,这个也是一直在做的;其实更新的blog的想法已有好久,一直没确定好内容,正好IM SDK中涉及到conversation和message的本地化处理,就选了这个主题;实话讲,在写这个项目之前,我对数据库真的不熟,甚至sql语句都记不清了(我真的学过^_^),为此我买了一本O REILY的《
转载 2023-11-21 15:31:01
141阅读
基本操作NSString* docsdir = [NSSearchPathForDirectoriesInDomains( NSDocumentDirectory, NSUserDomainMask, YES) lastObject]; // 将user.sqlite放到Documents文件夹下,并生成user.sqlite的绝对路径 NSString* dbpath = [docsdir st
转载 2023-07-13 20:30:34
99阅读
iOS fmdb是主线程操作么 在iOS开发中,使用FMDB进行数据库操作时,我们需要考虑线程安全性。FMDB本身并不保证线程安全,因此直接在主线程进行长时间的数据库操作将可能导致UI卡顿和应用体验下降。本文将详细介绍如何在确保线程安全的情况下使用FMDB。 ## 环境准备 ### 前置依赖安装 在开始之前,确保您的开发环境中已经安装了以下必备工具和库: 1. **Xcode**:最新版推
原创 7月前
12阅读
   iOS中原生的SQLite API在使用时,非常的不方便。于是,就出现了系列将SQLite API进行封装的库。例如:FMDB、PlausibleDatabase等。https://github.com/ccgus/fmdb(一)、 什么是FMDB?      1、FMDB是以iOS平台的SQLite数据库框架。    &
iOS多线程实践中,常用的就是子线程执行耗时操作,然后回到主线程刷新UI。在iOS中每个进程启动后都会建立一个主线程(UI线程),这个线程是其他线程的父线程。由于在iOS中除了主线程,其他子线程是独立于Cocoa Touch的,所以只有主线程可以更新UI界面。iOS多线程开发实践方式有4种,分别为Pthreads、NSThread、GCD、NSOperation,下面分别讲一讲各自的使用方式,
转载 2023-06-12 16:45:33
119阅读
  • 1
  • 2
  • 3
  • 4
  • 5