我是Objective-c的新手,我想知道以下是否有更好的方法来创建我在下面的方法中使用的HTTP POST主体。
- (NSData*) generateBody: (NSDictionary*) requestParams {
NSMutableData *body = [[[NSMutableData alloc] initWithCapacity:1024] autorelease];
BOOL firstParam = YES;
for (NSString* key in requestParams) {
NSString *value = [requestParams valueForKey:key];
if ( firstParam ) {
firstParam = NO;
} else {
[body appendData:[@"&" dataUsingEncoding:NSUTF8StringEncoding]];
}
[body appendData:[key dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[@"=" dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[value dataUsingEncoding:NSUTF8StringEncoding]];
}
return body;
}
答案 0 :(得分:0)
是
查看ASIHTTPRequest,特别是ASIFormDataRequest类(只是在该链接中搜索它)
它就像NSURLConnection的更好版本:)它似乎也成为了做Web请求的行业标准方式,也是每个iOS开发人员工具库的重要组成部分:)
答案 1 :(得分:0)
如果它接受JSON格式的数据,请尝试在Apple文档中查看NSJSONSerialization。效果很好。