2013-02-26 12 views
6

私は私のコードはiOSのNSURL文字列で複数のパラメータを渡すにはどうすればよいですか?

responseData = [[NSMutableData data] retain]; 
ArrData = [NSMutableArray array]; 
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http://rate-exchange.appspot.com/currency?from=%@&to=%@&q=%@",strfrom,strto,strgo]]; 
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:url]]; 
//NSURLRequest *request1 = [NSURLRequest requestWithURL: 
//[NSURL URLWithString:@"http://rate-exchange.appspot.com/currency?from=%@&to=%@&q=1",strfrom,strto]]; 

私は動的に複数のパラメータを渡す必要があり、上記のコードであるNSURL で一度に複数のパラメータを渡す必要があるというアプリで1つのアプリを開発しています。出来ますか ? あれば、どうですか? 感謝&について

+1

URLにNSSString 'のようなものを追加する前に、別の文字列を作成してみてください* STR = [NSString stringWithFormat:@ "http://rate-exchange.appspot.com/currency?from=%@&to=%@&q=%@"、strfrom、strto、strgo] 'このstrをURL – nsgulliver

+0

に追加します最初にすべてのパラメータをNSStringに渡して、最後の文字列をNSURLに割り当てます。 – jamil

+0

私はあなたの質問を完全に理解することができません。あなたはまだあなたの質問に複数のパラメータを渡しています – Warewolf

答えて

5

は最終的に、要求にあなたのコードを追加してください

URLに

NSURL *url = [NSURL URLWithString:strURL]; 
をこのstrURLを追加したURLに

NSSString *strURL=[NSString stringWithFormat:@"http://rate-exchange.appspot.com/currency?from=%@&to=%@&q=%@"‌​,strfrom,strto,strgo]; 

のようなものを追加する前に、別の文字列を作成してみてくださいとあなたが要求するURLを追加する場所が間違っています。URLは文字列ではないので、URLはrequestWithURLでなくURLWithStringでなければなりません。

これらの答えの多くが欠落している
NSURLRequest *request = [NSURLRequest requestWithURL:url]; 
+1

完璧なソリューション.....ありがとうu nsgulliver – areddy

+0

あなたは歓迎ですareddy! – nsgulliver

1

ことの一つは、URLに無効な文字を使用しないようにする[NSString stringByAddingPercentEscapesUsingEncoding:]の使用である:

NSString *baseURL = [NSString stringWithFormat:@"http://rate-exchange.appspot.com/currency?from=%@&to=%@&q=%@",strfrom,strto,strgo]; 
NSURL *url = [NSURL URLWithString:[baseURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; 
NSURLRequest *request = [NSURLRequest requestWithURL:url]; 
+0

これは良い点ですが、stringByAddingPercentEscapesUsingEncodingは文字列を完全にURLエンコードしないことに注意してください。 /と&のようなものは間違っています。 stackoverflowには、独自の方法の例がたくさんあります。 –

+0

しかし、私にとって、トロイの木馬の答えは、URLの一部としてユニコードの単語を送信するための不可欠な部分でした。だから彼に+1。 –

関連する問題