2010-06-11 2 views
1

Я пытаюсь сделать веб-звонок с iPhone. Я сделал это раньше, и все работает отлично, но теперь я не могу заставить его работать. Я пытаюсь использовать метод следующий вызов, который документация говорит, экранном в 2.0 и более поздних версий:NSMutableRequest skd problem

- (void)addValue:(NSString *)value forHTTPHeaderField:(NSString *)field; 

Я пытающегося построить для версии 3.2 и 4.0.

NSMutableURLRequest *request = [NSURLRequest 
           requestWithURL:url 
           cachePolicy:NSURLRequestReloadIgnoringCacheData 
           timeoutInterval:30]; 

[request addValue:@"0" forHTTPHeaderField:@"Content-Length"]; 

ошибка, что я получаю сообщение об ошибке выполнения, что говорит

"-[NSURLRequest addValue:forHTTPHeaderField:]: unrecognized selector sent to instance 0x600e0c0" 

Может кто-нибудь сказать мне, что я пропускаю, который останавливает этот код от работы?

Спасибо.

ответ

2

Вы инициализируете NSURLRequest вместо NSMutableURLRequest. Вероятно, вы получаете предупреждение компилятора об этом, но среда выполнения заставляет бросать непреклонный суперкласс. Он работает до тех пор, пока вы не попытаетесь отправить сообщение, которое не имеет непреложный суперкласс.

+0

Или быть более прямым: заменить NSURLRequest на NSMutableURLRequest –