2011-08-31 18 views
8

ここに私のコードですNSURLはNil Valueを返します

NSString *string = [NSString stringWithFormat:@" http://abc.com /Demo/View.php?drinkId=%@&name=%@&comment=%@&date=%@&rating=%@& ReqestType=SubmitComment",DrinkId,Name,Comment,Date,Rating]; 

NSURL *url   = [[NSURL alloc] initWithString:string]; 

ここでは文字列に値がありますが、URLはnilを返します。 誰でもこれがなぜ起こったのかを伝えることができます。

ありがとう....

"これは動作しないので、ここで私が代わりにやったことだ"

NSString *string = [NSString stringWithFormat:@"http://abc.com/Demo/View.php?drinkId=%@&name=%@&comment=%@&date=%@&rating=%@&ReqestType=SubmitComment",DrinkId,Name,Comment,Date,Rating]; 

NSURL *url   = [[NSURL alloc] initWithString:string]; 
+0

うれしいです。みんなを助けて、この質問に答えてマークすることができますか? –

+0

私はこの質問に答えてマークするように頼みますか? – Vijay

+0

回答の横にある灰色のチェックマークをクリックすると、緑色に変わります。 –

答えて

26

NSURLには、スペースのように、違法な文字を含むURLにnilを返します。

[NSURL URLWithString:]で文字列を使用する前に、すべての許可されていない文字を[NSString stringByAddingPercentEscapesUsingEncoding:]でエスケープしてください。

ここはthe class reference for NSStringです。

+0

ありがとうMike Hay Now問題が解決しました.. – Vijay

+0

スペースがあります。 – Nekto

+0

私たちに示したコードにはスペースがあります。 – 0x8badf00d

-1

こんにちはすべて私の問題はここで解決されました私は間違いが "http"の前に空白を残しました。

正しいコードは、私の答えが助けたことを

NSString *string = [NSString stringWithFormat:@"http://myserver.com/Demo/View.php?drinkId=%@&name=%@&comment=%@&date=%@&rating=%@&ReqestType=SubmitComment",DrinkId,Name,Comment,Date,Rating]; 

NSURL *url   = [[NSURL alloc] initWithString:string]; 
関連する問題