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);
}
}
}];
目前此库仅提供简单用法案例。请随时添加您自己的用例并贡献! ;)
安装
SimpleRemoteObject 支持 Cocoapods。请将以下行添加到您的 Podfile 并运行 pod install
。
pod 'SimpleRemoteObject'
创建一个 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
实现 representUrl 和 resultKey 方法
#import "User.h"
@implementation Tag
+(NSString *)representUrl{
return @"users.json";
}
+(NSString *)resultKey{
return @"objects"; // key of target JSON object
}
@end
在某个地方设置服务器 API 的基本 URL。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[SRRemoteConfig defaultConfig].baseurl = SERVER_URL;
// Override point for customization after application launch.
return YES;
}
检索数据
[User fetchAsync:^(NSArray *allRemote, NSError *error) {
if (error){
//Do error handling
}else{
for (User* user in allRemote){
NSLog(@"my name is:%@",user.name);
}
}
}];
抱歉,暂无提供。
测试代码可能有助于您的理解。
SimpleRemoteObject 在 MIT 许可证下可用。有关更多信息,请参阅 LICENSE 文件。
版本 0.0.6
SimpleRemoteObject 由 Hal Seki 编写和维护。我从 NSRails 项目中学到了很多,受到了很多启发,在此表示感谢!