NSURL возвращает ноль при отправке запроса службы JSON? - PullRequest
0 голосов
/ 23 декабря 2010

Мой URL-адрес http://sample_domain/sample.json?{ "language" : "en", "category" : "sports"}

Я преобразую это в объект NSURL, как показано ниже.

NSURL *url=[NSURL URLWithString:@"http://sample_domain/sample.json?{ "language" : "en", "category" : "sports"}"];

его ноль возвращается объекту NSURL, я знаю, что URL должен быть в определенном форматеиз документации Apple, в противном случае он будет считаться вредоносным сайтом и возвращает нулевой объект,

Мой вопрос заключается в том, как я могу передать эти параметры в соответствии со стандартами Apple, чтобы он не перенастраивал нулевой объект.

Заранее спасибо.

1 Ответ

1 голос
/ 23 декабря 2010

Попробуйте

NSURL *url=[NSURL URLWithString:[@"http://sample_domain/sample.json?{ \"language\" : \"en\", \"category\" : \"sports\"}"
                  stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

Я не уверен, почему символы "" не экранированы в вашем примере, но я думаю, что без экранирования ваш код не должен компилироваться.

Также вам нужно(и это основная проблема), чтобы заменить символы, которые являются недопустимыми в URL (например, ':', с соответствующими процентами экранирования - это то, что делает функция stringByAddingPercentEscapesUsingEncoding.

...