Лучший способ создать тело NSMutableURLRequest - PullRequest
2 голосов
/ 20 января 2011

Я новичок в 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 голосов
/ 11 апреля 2013

Если он принимает данные в формате JSON, попробуйте посмотреть NSJSONSerialization в документации Apple.Прекрасно работает.

0 голосов
/ 20 января 2011

Да.

Посмотрите на ASIHTTPRequest , в частности, класс ASIFormDataRequest (просто найдите его по этой ссылке)

Это похоже на лучшую версию NSURLConnection :) Похоже, что оно становится отраслевым стандартом для выполнения веб-запросов и неотъемлемой частью каждой библиотеки инструментов для разработчиков iOS:)

...