SimpleRemoteObject 0.0.8

SimpleRemoteObject 0.0.8

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最后发布2014年12月

未指定维护。



  • Hal Seki

SimpleRemoteObject 是一个简单的 Objective-C 库,可以从服务器端 JSON 文本创建您类的实例。我受 NSRails 框架的启发创建了此库。虽然 NSRails 是一个很棒的框架,但仅适用于 Active-Record。由于我需要从非 RAILS 服务器读取数据,因此我创建了自有的库。

例如,您可以使用以下代码获取 User 类的实例。

[User fetchAsync:^(NSArray *allRemote, NSError *error) {
    if (error){
        //Do error handling
    }else{
        for (User* user in allRemote){
            NSLog(@"my name is:%@",user.name);
        }
    }
}];

功能

  • 从服务器端 JSON 文本创建对象实例
  • 服务器端 JSON 文本无需与本地对象很好地结构化。

注意

目前此库仅提供简单用法案例。请随时添加您自己的用例并贡献! ;)

依赖

  • iOS 5.1+
  • AFNetworking

入门

  1. 安装

    SimpleRemoteObject 支持 Cocoapods。请将以下行添加到您的 Podfile 并运行 pod install

    pod 'SimpleRemoteObject'
    
  2. 创建一个 Objective-C 类,并使其成为 SRSimpleRemoteObject 的子类,并设置属性。

    例如,如果服务器为 http://your_server/users.json 返回以下 JSON

    {
     meta: {
       limit: 20,
       next: null,
       offset: 0,
       previous: null,
       total_count: 3
    },
    objects: [
     {
       id: 2,
       name: "Daniel",
       email: "[email protected]",
       age: 25
     },
     {
       id: 2,
       name: "Mario",
       email: "[email protected]",
       age: 30
     },
     {
       id: 3,
       name: "Hal",
       email: "[email protected]",
       age: 32
     }
    ]
    }
    

    您可以创建这样的对象。

    #import <SimpleRemoteObject/SRSimpleRemoteObject.h>
    @interface User : SRSimpleRemoteObject
    @property(nonatomic,retain) NSString *name;
    @property(nonatomic,retain) NSString *email;
    @property(nonatomic) int age;
    @end
    
  3. 实现 representUrl 和 resultKey 方法

    #import "User.h"
    
    @implementation Tag
    +(NSString *)representUrl{
       return @"users.json";
    }
    +(NSString *)resultKey{
       return @"objects"; // key of target JSON object
    }
    @end
    
  4. 在某个地方设置服务器 API 的基本 URL。

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {
       [SRRemoteConfig defaultConfig].baseurl = SERVER_URL;
    
       // Override point for customization after application launch.
       return YES;
    }
    
  5. 检索数据

    [User fetchAsync:^(NSArray *allRemote, NSError *error) {
       if (error){
           //Do error handling
       }else{
           for (User* user in allRemote){
               NSLog(@"my name is:%@",user.name);
           }
       }
    }];
    

文档

抱歉,暂无提供。

测试代码可能有助于您的理解。

待办事项

  • 实现 CRUD 支持功能
  • 支持 CoreData

贡献

  • 错误报告:请在此处创建工单。
  • 拉取请求:当然,欢迎你!

许可证

SimpleRemoteObject 在 MIT 许可证下可用。有关更多信息,请参阅 LICENSE 文件。

鸣谢

版本 0.0.6

SimpleRemoteObject 由 Hal Seki 编写和维护。我从 NSRails 项目中学到了很多,受到了很多启发,在此表示感谢!