RoundedRobot 0.2.8

RoundedRobot 0.2.8

测试已测试
Lang语言 Obj-CObjective C
许可 MIT
发布最后发布2015年5月

Heather SnepengerBrian Weinreich维护。



Rounded Robot

用法

要运行示例项目,克隆仓库,然后首先从 Example 目录运行 pod install

要求

iOS 7 或更高版本

安装

RObot 可以通过 CocoaPods 获得。要安装它,只需将以下行添加到您的 Podfile:

pod "RoundedRobot"

如何使用

RObot 是一个独立的库,用于处理 NSManagedObjects 的 CRUD 方法。调用创建、读取、更新、删除或索引时,将调用 API 并适当地更新数据库。

首先调用此行

[ROBotManager initializeWithBaseURL:@"https://your_base_url"];

如果您打算使用索引方法或缓存,您还需要设置您的持久化存储协调器

[ROBotManager sharedInstance].persistentStoreCoordinator = [self persistentStoreCoordinator];

接下来,在您打算使用 ROBot 的类中导入 #import "ROBot.h"

您需要覆盖 NSManagedObject(或相应的类)中的 CRUD URL。例如:

+ (NSString *)indexURL
{
    return @"/users";
}

- (NSString *)createURL
{
    return @"/users";
}

- (NSString *)readURL
{
    return [NSString stringWithFormat:@"/users/%@", self.user_id];
}

- (NSString *)updateURL
{
    return [NSString stringWithFormat:@"/users/%@", self.user_id];
}

请注意,URL 路径是实例方法,当调用 URL 方法时,将填充 URL 字符串中的变量。

然后您可以在模型实例上调用 CRUD 方法,并将更改应用到您的数据库和 API。

获取所有用户

[User index:^{} failure:^(ROBotError *error) {}];

创建示例

WRUser *user = [NSEntityDescription insertNewObjectForEntityForName:@"WRUser" inManagedObjectContext:[NSManagedObjectContext MR_defaultContext]];
user.fname = @"Heather";
user.lname = @"Sneps";
[user create:^{} failure:^(ROBotError *error) {}]

定制

您可以从 API 响应到数据库对象指定一个自定义映射。如果您不指定映射,RObot 将将 API 结果直接映射到数据库中的相应字段。

要指定映射,执行以下操作:

[User setMapping:@[@"last_name": @"lname", @"first_name": @"fname"]];

请注意,可以使用部分映射。在上面的例子中,电子邮件仍然映射到电子邮件。

日志记录

默认情况下,禁用日志记录。要为您的所有 ROBotManagedObjects 启用日志记录,使用

ROBotManagedObject.verboseLogging = true

要为单个 ROBotManagedObject 类启用日志记录,使用

User.verboseLogging = true

即将推出

我们正在做以下工作:

  1. 一个索引路由,将返回对象的数组
  2. 当用户没有连接时对象缓存
  3. create()/read()/update()/delete() 方法的成功/失败回调
  4. 删除孤立对象

请随意提交 pull 请求并添加您自己的贡献!

作者

Heather Snepenger, [email protected]

许可协议

RObot 以 MIT 许可协议提供。有关更多信息,请参阅 LICENSE 文件。