【发布时间】:2012-01-08 17:17:57
【问题描述】:
我对 Objective-C 比较陌生,我正在尝试使用 RestKit 从 Web 服务接收 JSON 响应。我已成功将数据接收回我的应用程序,查看响应如下所示:
{id:"1","Translation":"Test"}
我想将此翻译映射到我的应用程序中的“翻译”对象,但尝试了几种不同的方法,但不确定如何实现。
所以我的问题是:
- 如何将此响应映射到我的翻译对象
- 我这样做是否正确,创建了一个方法来完成这个调用,胜过我的视图控制器?
我的翻译对象
@implementation Translation
@synthesize identifier = _identifier;
@synthesize translation = _translation;
- (NSDictionary*)elementToPropertyMappings {
return [NSDictionary dictionaryWithKeysAndObjects:
@"id", @"identifier",
@"translation", @"translation",
nil];
}
@end
我的翻译方法
- (NSString *)performTranslation:(NSString *)translation
{
NSString *data = [[NSString alloc] initWithFormat:@"{\"SourceId\": \"%@\",\"RegionTag\": \"%@\",\"InputString\": \"%@\"}", @"1", @"Glasgow", translation];
NSString *post = data;
RKRequest *MyRequest = [[RKRequest alloc] initWithURL:[[NSURL alloc] initWithString:@"http://my.url.com/Translation/Translate"]];
MyRequest.method = RKRequestMethodPOST;
MyRequest.HTTPBodyString = post;
MyRequest.additionalHTTPHeaders = [[NSDictionary alloc] initWithObjectsAndKeys:@"application/json", @"Content-Type", @"application/json", @"Accept", nil];
[MyRequest send];
RKResponse *Response = [MyRequest sendSynchronously];
return Response.bodyAsString; <--- looking to map this to translation object here
}
【问题讨论】:
标签: objective-c xcode4 xcode4.2 restkit