NSURL возвращает Nil Value - PullRequest
       6

NSURL возвращает Nil Value

9 голосов
/ 31 августа 2011

Здесь ниже мой код

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];

Ответы [ 2 ]

28 голосов
/ 31 августа 2011

NSURL вернет nil для URL, которые содержат недопустимые символы, такие как пробелы.

Перед использованием строки с [NSURL URLWithString:] убедитесь, что экранировали все запрещенные символы с помощью [NSString stringByAddingPercentEscapesUsingEncoding:].

Вот ссылка на класс для NSString .

0 голосов
/ 05 сентября 2011

Привет всем, теперь моя проблема решена. Я сделал ошибку, оставив пробел перед "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];
...