2009-08-24 2 views
8

В основном я хочу, чтобы установитьКак установить тип содержимого при использовании initWithContentsOfUrl

Content-Type: применение/JSON;

, чтобы позвонить в веб-службу dot net и вернуть Json в приложение iphone.

На данный момент у меня

 
NSString * jsonres = [[NSString alloc] initWithContentsOfURL:url]; 

Что мне нужно сделать, вместо того, чтобы выдать запрос на блокировку?

ответ

11

Вам необходимо использовать NSURLMutableRequest, здесь вы можете добавлять заголовки для типа содержимого и сортировки, здесь есть ссылка, http://developer.apple.com/iphone/library/documentation/Cocoa/Reference/Foundation/Classes/NSMutableURLRequest_Class/Reference/Reference.html#//apple_ref/occ/cl/NSMutableURLRequest, как только вы настроите свой запрос, вы можете добавить значение с помощью этого метода - (void) addValue: (NSString *) значение дляHTTPHeaderField: (NSString *) поле что-то вроде

[request setValue:@"application/json; charset=utf-8" forHTTPHeaderField:@"Content-Type"]; 
+0

Да, я думаю, что это сделает. Спасибо за быстрый ответ! – Andiih

+1

, хотя это не запрос стиля блокировки, вместо этого он использует делгаты и обратные вызовы - что потребует некоторой реорганизации! – Andiih

+0

для стиля blokcing вы просто должны сделать вызов синхронизации (забыли упомянуть об этом извините), вы можете использовать метод NSURLConnections, называемый + (NSData *) sendSynchronousRequest: (NSURLRequest *) запрос returnResponse: (NSURLResponse **): ошибка ответа: (NSError **), heres ссылка http://developer.apple.com/iphone/library/documentation/Cocoa/Reference/Foundation/Classes/NSURLConnection_Class/Reference/Reference.html#//apple_ref/occ/clm/NSURLConnection/sendSynchronousRequest: returnResponse: error: – Daniel

Смежные вопросы