StorageRoomKit 是一个静态库(iOS)和一个框架(OS X),它提供了辅助方法和类,使使用 RestKit(http://restkit.org + https://github.com/restkit/restkit)与 StorageRoom API(http://storageroomapp.com)变得更容易。
此库已在 Xcode 4.2 上进行了测试,不支持旧版本的 Xcode。
将 StorageRoomKit 添加到您的项目
添加一个新的 git 子模块: git submodule add git://github.com/thriventures/StorageRoomKit.git StorageRoomKit
通过拖拽 StorageRoomKit.xcodeproj 到您的项目中创建跨项目引用
打开您的项目的构建设置编辑器,为上述路径添加以下 Header Search Paths,否则存档将失败
"$(SOURCE_ROOT)/RestKit/Build"
"$(SOURCE_ROOT)/StorageRoomKit/Build"
打开您想要链接 StorageRoomKit 的目标的设置编辑器,并添加直接依赖项
链接到库
导入 StorageRoomKit 头文件
#import <StorageRoomKit/StorageRoomKit.h>
构建项目以验证安装是否成功。
这是库简单用法场景的完整步骤说明。
导入头文件
#import <RestKit/RestKit.h>
#import <StorageRoomKit/StorageRoomKit.h>
将 SREntry 协议添加到您的自定义类中
@interface Announcement : NSObject <SREntry> {
}
@property (nonatomic, retain) NSString * text;
@property (nonatomic, retain) NSString * mUrl;
@end
实现 SREntry 协议方法
+ (RKObjectMapping *)objectMapping {
RKObjectMapping *mapping = [RKObjectMapping mappingForClass:[self class]];
[mapping mapSRAttributes:@"text", nil];
[mapping mapSRMetaData:@"url", nil]; // will map to mUrl
return mapping;
}
+ (NSString *)entryType {
return @"Announcement";
}
创建 ObjectManager
[SRObjectManager objectManagerForAccountId:@"STORAGE_ROOM_ACCOUNT_ID" authenticationToken:@"AUTHENTICATION_TOKEN"];
与 API 资源一起工作
[[RKObjectManager sharedManager] loadObjectsAtResourcePath:SRCollectionEntriesPath(@"COLLECTION_ID") delegate:self];
在委托中处理返回的对象
- (void)objectLoader:(RKObjectLoader *)anObjectLoader didLoadObject:(Announcement *)anAnnouncement {
self.announcementLabel.text = anAnnouncement.text;
}
StorageRoom API中的资源JSON表示包含以“@”字符为前缀的元数据属性。例如,"@created_at"元数据属性,显示资源在服务器上创建的时间。
RestKit高度依赖于键值编码(KVC),但“@”字符在KVC中是无效的。因此,StorageRoom API允许更改用于元数据的前缀。StorageRoomKit将此前缀从“@”更改为“m_”。在StorageRoom所用的内部类中,元数据属性映射到以“m”开头的实例变量(例如,“m_created_at”将映射到“mCreatedAt”)。您可以在自己的Entry类中遵循此约定,但不是必须的。
StorageRoom API文档(http://storageroomapp.com/documentation)包含有关Web服务的更多信息。
有关如何使用StorageRoomKit的
如果您只需要在您的应用中添加少量的内容,认为这个库太重,您也可以不使用StorageRoomKit手动解析JSON。有关示例,请参阅https://github.com/thriventures/simple_iphone_example。
StorageRoomKit附带Kiwi规范。通过产品 > 测试运行规范。
请参阅待办文件。
如果您发现任何错误,请在GitHub上创建一个问题。
http://github.com/thriventures/StorageRoomKit/issues
MIT许可证。版权所有2012 Thriventures UG (haftungsbeschränkt) - http://www.thriventures.com