Каков наилучший способ проверки введенного пользователем URL в приложении Какао? - PullRequest
4 голосов
/ 11 октября 2008

Я пытаюсь создать веб-браузер для доморощенных, чтобы стать более опытным в Какао. Мне нужен хороший способ проверить, ввел ли пользователь действительный URL. Я пробовал некоторые регулярные выражения, но NSString имеет некоторые интересные причуды, и ему не нравятся некоторые обратные кавычки, которые используют большинство регулярных выражений, которые я видел.

Ответы [ 2 ]

5 голосов
/ 11 октября 2008

Вы можете начать с + (id)URLWithString:(NSString *)URLString метода NSURL, который возвращает nil, если строка искажена.

Если вам нужна дополнительная проверка, вы можете использовать методы baseURL, host, parameterString, path и т. Д., Чтобы получить конкретные компоненты URL-адреса, которые затем можно будет оценить любым доступным способом. подходит.

4 голосов
/ 11 октября 2008

Я обнаружил, что можно ввести некоторые URL-адреса, которые кажутся в порядке, но отклонены методами создания NSURL. Таким образом, у нас есть метод для экранирования строки, чтобы убедиться, что она в хорошем формате. Вот мясо этого:

NSString *escapedURLString =
    NSMakeCollectable(CFURLCreateStringByAddingPercentEscapes(NULL,
      (CFStringRef)URLString,
      (CFStringRef)@"%+#",  // Characters to leave unescaped
      NULL,
      kCFStringEncodingUTF8));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...