StorageRoomKit 0.0.3

StorageRoomKit 0.0.3

测试已测试
语言语言 Obj-CObjective C
许可 MIT
发布上次发布2014年12月

未声明 维护。



  • Sascha Konietzke

StorageRoomKit 是一个静态库(iOS)和一个框架(OS X),它提供了辅助方法和类,使使用 RestKit(http://restkit.org + https://github.com/restkit/restkit)与 StorageRoom API(http://storageroomapp.com)变得更容易。

此库已在 Xcode 4.2 上进行了测试,不支持旧版本的 Xcode。

主要功能

  • 与 NSObjects 和 NSManagedObjects 一起工作
  • 支持 GET、POST、PUT 和 DELETE HTTP 方法
  • 包含所有 StorageRoom 资源类和映射
  • 辅助方法生成 StorageRoom 路径
  • ... 以及 RestKit 提供的许多实用功能

在你的项目中安装

  1. 按照详细的安装说明将 RestKit 添加到您的项目中
  2. 将 StorageRoomKit 添加到您的项目

    1. 添加一个新的 git 子模块: git submodule add git://github.com/thriventures/StorageRoomKit.git StorageRoomKit

      • 请注意,RestKit 和 StorageRoomKit 在你的项目目录结构中必须是 兄弟关系!您可以将这两个子模块添加到基础知识目录或到公共子目录(例如Vendor/RestKit 和 Vendor/StorageRoomKit)。
    2. 通过拖拽 StorageRoomKit.xcodeproj 到您的项目中创建跨项目引用

    3. 打开您的项目的构建设置编辑器,为上述路径添加以下 Header Search Paths,否则存档将失败

      • "$(SOURCE_ROOT)/RestKit/Build"
      • "$(SOURCE_ROOT)/StorageRoomKit/Build"
    4. 打开您想要链接 StorageRoomKit 的目标的设置编辑器,并添加直接依赖项

      • StorageRoomKit (iOS)
      • StorageRoomKitFramework (Mac OS X)
    5. 链接到库

      • libStorageRoomKit.a (iOS)
      • StorageRoomKitFramework.framework (Mac OS X)
    6. 导入 StorageRoomKit 头文件

      • #import <StorageRoomKit/StorageRoomKit.h>
    7. 构建项目以验证安装是否成功。

基本用法

这是库简单用法场景的完整步骤说明。

  1. 导入头文件

    #import <RestKit/RestKit.h>
    #import <StorageRoomKit/StorageRoomKit.h>
    
  2. 将 SREntry 协议添加到您的自定义类中

    @interface Announcement : NSObject <SREntry> {
    
    }
    
    @property (nonatomic, retain) NSString * text;
    @property (nonatomic, retain) NSString * mUrl;
    
    @end
    
  3. 实现 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";
    }
    
  4. 创建 ObjectManager

    [SRObjectManager objectManagerForAccountId:@"STORAGE_ROOM_ACCOUNT_ID" authenticationToken:@"AUTHENTICATION_TOKEN"];
    
  5. 与 API 资源一起工作

    [[RKObjectManager sharedManager] loadObjectsAtResourcePath:SRCollectionEntriesPath(@"COLLECTION_ID") delegate:self];    
    
  6. 在委托中处理返回的对象

    - (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的

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