创建NSMutableURLRequest主体的更好方法

时间:2011-01-20 11:14:27

标签: iphone objective-c nsurlrequest nsmutableurlrequest

我是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;

}

2 个答案:

答案 0 :(得分:0)

查看ASIHTTPRequest,特别是ASIFormDataRequest类(只是在该链接中搜索它)

它就像NSURLConnection的更好版本:)它似乎也成为了做Web请求的行业标准方式,也是每个iOS开发人员工具库的重要组成部分:)

答案 1 :(得分:0)

如果它接受JSON格式的数据,请尝试在Apple文档中查看NSJSONSerialization。效果很好。