EGODatabase 2.0

EGODatabase 2.0

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最新版本2014年12月

Shaun Harrison维护。



  • Enormego, Shaun Harrison

关于EGODatabase

EGODatabase是一个由Enormego创建的线程安全的Objective SQLite包装器。在我们的应用程序中广泛使用FMDB后,我们发现了很多改进的空间,最大的改进是使其线程安全。EGODatabase使用了来自FMDB的一些代码,但大部分是完全重写的,使用了结果集和行对象。FMDB和EGODatabase之间主要的不同在于选择数据时,EGODatabase使用EGODatabaseRow类填充从SQLite获取的数据,而不是像FMDB那样保留SQLite结果。

EGODatabase经过测试,可以与所有版本的iOS和Mac OS X 10.5+兼容。

EGODatabase

这是一个类,您将在这里打开您的SQLite数据库文件并通过它执行查询。

EGODatabaseResult

这是EGODatabase在执行"executeQuery:"时返回的类。它支持快速枚举,并包含用于列名、列类型、行和如果有任何错误则包含错误的属性。

EGODatabaseRow

EGODatabaseResult包含的每个对象都是EGODatabaseRow。这是每行的原始数据。您将能够根据不同的方法返回特定的类型,如intForColumn:或dateForColumn:。请查看头文件以获取完整的列表。

文档

请查看每个头文件以获取每个方法的全列。

示例

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"]);
}

注意

请记住将libsqlite3.dylib链接到您的项目中!