Egodatabase
EGODatabase is a thread-safe Objective-C SQLite wrapper with full support for asynchronous SQLite calls as well as built in NSOperationQueue support.
Install / Use
/learn @enormego/EgodatabaseREADME
About EGODatabase
EGODatabase is a thread-safe Objective SQLite wrapper created by enormego. After extensively using FMDB in our applications, we saw a lot of room for improvements, the biggest was making it thread-safe. EGODatabase uses some code from FMDB, but for the most part, it was completely reworked to use result sets and row objects. A major difference between FMDB and EGODatabase is when selecting data, EGODatabase populates its EGODatabaseRow class with the data from SQLite, as opposed to retaining the SQLite results like FMDB does.
EGODatabase is tested to work with with all versions of iOS and Mac OS X 10.5+.
Classes
EGODatabase
This is the class where you'll open your SQLite database file and execute queries through.
EGODatabaseResult
This is the class returned by EGODatabase when running "executeQuery:". It supports fast enumeration, and contains properties for the column names, column types, rows, and errors if there are any.
EGODatabaseRow
Every object that EGODatabaseResult contains, is an EGODatabaseRow. This is your raw data for each row. You'll be able to return specific types based on different methods such as intForColumn: or dateForColumn:. Check out the header files for a complete listing.
Documentation
Check out each header file for a complete listing of each method.
Example
EGODatabase* database = [EGODatabase databaseWithPath:[NSHomeDirectory() stringByAppendingPathComponent:@"Documents/database.db"]];
EGODatabaseResult* result = [database executeQueryWithParameters:@"SELECT * FROM `posts` WHERE `user_id` = ?", @(10), nil];
for(EGODatabaseRow* row in result) {
NSLog(@"Subject: %@", [row stringForColumn:@"subject"]);
NSLog(@"Date: %@", [row dateForColumn:@"date"]);
NSLog(@"Views: %d", [row intForColumn:@"views"]);
NSLog(@"Message: %@", [row stringForColumn:@"message"]);
}
Note
Remember to link libsqlite3.dylib to your project!
Related Skills
feishu-drive
339.3k|
things-mac
339.3kManage Things 3 via the `things` CLI on macOS (add/update projects+todos via URL scheme; read/search/list from the local Things database)
clawhub
339.3kUse the ClawHub CLI to search, install, update, and publish agent skills from clawhub.com
yu-ai-agent
2.0k编程导航 2025 年 AI 开发实战新项目,基于 Spring Boot 3 + Java 21 + Spring AI 构建 AI 恋爱大师应用和 ReAct 模式自主规划智能体YuManus,覆盖 AI 大模型接入、Spring AI 核心特性、Prompt 工程和优化、RAG 检索增强、向量数据库、Tool Calling 工具调用、MCP 模型上下文协议、AI Agent 开发(Manas Java 实现)、Cursor AI 工具等核心知识。用一套教程将程序员必知必会的 AI 技术一网打尽,帮你成为 AI 时代企业的香饽饽,给你的简历和求职大幅增加竞争力。
