ios – RESTKit POST请求教程

我想知道是否有关于如何使用RESTKit执行POST请求的特定教程.我看过一些教程,但我没有发现任何说法,“这正是你用RESTKit做POST命令的方式.”非常感谢帮助.

解决方法

假设您已经有一个映射模型,您可以简单地执行此操作:

首先,使用responseDescriptor的inverseMapping设置requestDescriptor,假设您有一个映射.

//This is used for mapping responses,you already should have one of this. PS:[Data mapping] is a method that returns an RKObjectMapping for my model. You should create yours or use a prevIoUs created one
RKResponseDescriptor *responseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:[Data mapping] pathPattern:nil keyPath:@"data" statusCodes:statusCodeSet];
[[RKObjectManager sharedInstance] addResponseDescriptor:responseDescriptor];

//Inverse mapping,to perform a POST
RKRequestDescriptor *requestDescriptor = [RKRequestDescriptor requestDescriptorWithMapping:[[Data mapping] inverseMapping]  objectClass:[Data class] rootKeyPath:nil];
[[RKObjectManager sharedInstance] addRequestDescriptor:requestDescriptor];

之后,要执行POST,只需调用下面的方法即可. Restkit将获取您尝试发布的实例,将其序列化并发送到所选路径.

[[RKObjectManager sharedInstance] postObject:instanceOfYourModel path:yourPathHere parameters:nil success:^(RKObjectRequestOperation *operation,RKMappingResult *mappingResult) {
    NSLog(@"Success");

} failure:^(RKObjectRequestOperation *operation,NSError *error) {
    NSLog(@"Error");
}];

如果您没有映射模型,请告诉我们,以便我们可以尝试其他方法.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...