我想知道如何从完成的ASIHTTPRequest中检索帖子值。

当我执行请求时,我这样做:

[request setPostValue:uniqueID forKey:@"bookUniqueId"];
NSFileManager *fileManager = [[NSFileManager alloc]init];
if (![fileManager fileExistsAtPath:tempDir]) {
    [fileManager createDirectoryAtPath:tempDir withIntermediateDirectories:YES attributes:nil error:nil];
}
[fileManager release];

tempDir = [[tempDir stringByAppendingPathComponent:uniqueID]stringByAppendingPathExtension:@"zip"];
[request setDownloadDestinationPath:tempDir];
[request setDelegate:self];
[request startAsynchronous];

因为我要下载的zip文件的名称类似于我的书的ID。

- (void)requestFinished:(ASIHTTPRequest *)request方法中,我需要该ID来解压缩文件。我无法将ID保存在ivar中,因为我想支持多个异步下载。

我怎样才能做到这一点?是否有与不存在的方法[request postValueForKey: key]类似的东西?

最佳答案

每当您创建ASIFormDataRequest时,只需设置其用户信息并按以下方式获取即可。

要设置用户信息,请使用此选项。

[request setUserInfo:[NSDictionary dictionaryWithObject:@"YOUR_VALUE" forKey:@"YOUR_KEY"]];

要获取用户信息,请使用此功能。
-(void)requestFinished:(ASIHTTPRequest *)request
{
     NSDictionary *dict = [request userInfo];
     NSString *str = [dict objectForKey:@"YOUR_KEY"];
}

10-07 14:46