Objective-C / iOS新手在这里......
给出以下部分代码......
...
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:myUrl];
[request setDelegate:self];
[request setDidFinishSelector:@selector(callComplete:)];
[request setPostValue:@"Dilbert" forKey:@"name"];
...
...和...
- (void) callComplete:(ASIFormDataRequest*)request {
// ? Determine what the value of the name parm was ?
}
...我怎样才能在 callComplete 处理程序中获取名称帖子参数的值?
我原本以为会有类似[request postValueForKey :]的方法,但是没有。因此,除非有人知道这样做的方法,否则我想我只需要以ivars的形式或者在请求中使用userInfo复制数据。
答案 0 :(得分:0)
你可以在类中编写自己的方法来返回你想要的东西,但是和你一样 - 我没有看到内置的方法来做到这一点。
一个注意事项 - 不再开发ASIHttpRequest(使用起来快速简便)。该框架并非所有帐户都不符合ARC标准。您可能希望改为使用另一个框架(CF-Networking或类似的东西)。
答案 1 :(得分:0)
我没有尝试过,但这可能有效:
- (void) callComplete:(ASIFormDataRequest*)request {
NSString *name;
for (NSDictionary *parameter in [request postData]) {
if ([[parameter objectForKey:@"key"] isEqualToString:@"name"]) {
name = [parameter objectForKey:@"value"];
break;
}
}
}
答案 2 :(得分:0)
尝试这样:
- (void) callComplete:(ASIFormDataRequest*)request {
NSMutableData *postBody=[request postBody];
NSString *stringPostBody = [[NSString alloc] initWithData:postBody
encoding:NSUTF8StringEncoding];
}