1

iPhoneでWeb通話をしようとしています。私は以前にこれを行ったことがあり、正常に動作しますが、今は動作させることができません。ドキュメントに記載されている次のメソッド呼び出しを使用しようとしていますが、これは 2.0 以降で使用できます。

- (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"

このコードが機能しない理由を誰か教えてもらえますか?

ありがとう。

4

1 に答える 1

2

NSMutableURLRequest の代わりに NSURLRequest を初期化しています。おそらくコンパイラの警告が表示されますが、ランタイムは不変のスーパークラスへのキャストを強制します。不変のスーパークラスにないメッセージを送信しようとするまで機能します。

于 2010-06-11T15:02:15.137 に答える