SQLitePersistentObject 0.3.2

SQLitePersistentObject 0.3.2

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
发布上次发布2015年10月

DeJohn Dong 维护。



  • DeJohn Dong

DDSQLiteKit

使用 SQLite 的对象持久化 ORM 工具包

SQLitePersistentObject

SQLitePersistentObject 是 Jeff LaMarche 编写的 ORM 工具包,非常出色。

任何子类此类的类都可以将它们的属性自动持久化到 sqlite 数据库中。有一些限制 - 目前不支持某些属性类型,如 void *, char *,structs 和 unions。与 Key Value Coding 不正确工作的一切都不会与此一起工作。普通标量(int,float 等)将被转换为 NSNumber,BOOL 也是如此。

SQLite 非常擅长转换类型,因此您可以通过传递字符串中的数字来在数字字段中进行搜索,也可以通过传递数字来在字符串字段中进行搜索。我们对搜索方法的唯一限制是不允许对 blob 进行搜索,这仅仅是出于性能原因。

但现在,Jeff 不再为此库工作。所以我将为此库工作。在原始中,此库在多线程操作中是非线程安全的,我只是通过一些新方法使它在多线程中线程安全。

安装

或者,您可以简单地将从 SQLitePersistentObject / SQLitePersistentObject 中的文件拖到您自己的项目中。

使用方法

创建一个继承自 SQLitePersistentObject 的对象

header file:
#import "SQLitePersistentObject.h"

@interface Device : SQLitePersistentObject

@property (nonatomic, copy) NSString *name;
@property (nonatomic, copy) NSString *model;
@property (nonatomic, strong) NSNumber *price;

@end


implementation file:
#import "Device.h"

@implementation Device

@end

方法

#pragma mark - DeJohn Dong Added Methods
/**
 *  Asynchronous add/update an object to db.
 */
- (void)save;

/**
 *  Asynchronous delete an object from db.
 */
- (void)asynDeleteObject;

/**
 *  Asynchronous delete an object and the cascade objects from db.
 */
- (void)asynDeleteObjectCascade:(BOOL)cascade;

/**
 *  Asynchronous Query the object list with criteria from db.
 *
 *  @param criteria criteria string
 *  @param result   result list
 */
+ (void)queryByCriteria:(NSString *)criteria result:(DBQueryResult)result;

/**
 *  Asynchronous Query the first object with criteria from db
 *
 *  @param criteria criteria string
 *  @param result   result object
 */
+ (void)queryFirstItemByCriteria:(NSString *)criteria result:(DBQueryResult)result;

/**
 *  Asynchronous Query all the objects from db
 *
 *  @param result result list
 */
+ (void)queryResult:(DBQueryResult)result;

要求

  • Xcode 6
  • iOS 5.1.1 或 Mac OS X 10.8

作者

Jeff LaMarche [email protected] / DeJohn Dong, [email protected]

许可证

SQLitePersistentObject 根据 MIT 许可证提供。有关更多信息,请参阅 LICENSE 文件。