NSURL не инстанцирует должным образом - PullRequest
1 голос
/ 01 ноября 2009

Я новичок в разработке для iPhone.

У меня очень странная проблема с NSURL, которая сводит меня с ума. Я хочу создать экземпляр объекта NSURL, чтобы использовать его при загрузке изображения. Но воплощение никогда не происходит должным образом. Это всегда говорит, что мой URL недействителен.

В основном я использую код как показано ниже:

NSString *str = @"http://google.com";
NSURL *url = [NSURL URLWithString:str];

но я также пробовал много разных модификаций (с CFStringRef + CFURLCreateStringByAddingPercentEscapes и так далее). Все они не работают для меня. В отладчике url установлен на «Invalid».

Что бы это могло быть? Я не думаю, что это алгоритмическая проблема или проблема окружающей среды. Это может быть о некоторых настройках?

Кто-нибудь знает, что происходит?

Ответы [ 2 ]

3 голосов
/ 01 ноября 2009

Ваша строка не экранирована правильно - вы должны сделать это так:

NSString *str = @"http://google.com";
NSString *escStr = [str stringByAddingPercentEscapesUsingEncoding:
                                              NSASCIIStringEncoding];
NSURL *url = [NSURL URLWithString:escStr];
2 голосов
/ 01 ноября 2009

Используете ли вы этот фактический код или просто код "как" его? Этот метод вернет nil, если вы не передадите ему правильную строку со всеми экранированными значениями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...