测试已测试 | ✗ |
Lang语言 | Obj-CObjective C |
许可 | MIT |
发布最后发布 | 2015年5月 |
由Heather Snepenger,Brian Weinreich维护。
要运行示例项目,克隆仓库,然后首先从 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
我们正在做以下工作:
请随意提交 pull 请求并添加您自己的贡献!
Heather Snepenger, [email protected]
RObot 以 MIT 许可协议提供。有关更多信息,请参阅 LICENSE 文件。