Преамбула: Я работаю с некоторым кодом, который я не писал, и у меня нет знаний об iOS.проверить, соответствует ли строка любому значению в массиве?
Приложение имеет веб-представление, которое обрабатывает большую часть приложения; внутренние ссылки загружаются в webview, и ссылки на другие сайты открываются в Safari, что ожидается. Однако включение карт google также приводит к открытию сафари. Я нашел соответствующий код контроллера, я думаю, и это выглядит следующим образом:
// a bit higher up
static NSString *const siteURL = @"http://my.example.com"
if (![request.URL.absoluteString hasPrefix:siteUrl])
{
if ([[UIApplication sharedApplication] canOpenURL:request.URL])
{
[[UIApplication sharedApplication] openURL:request.URL];
}
return NO;
}
Теперь, потому что «maps.google.com» не начинается с «my.example.com» это фермы к сафари - и это имеет смысл для меня. Тем не менее, я пробовал изменить:
static NSString *const googleMaps = @"http://maps.google.com"
if (! ([request.URL.absoluteString hasPrefix:siteUrl] || [request.URL.absoluteString hasPrefix:googleMaps]))
{
if ([[UIApplication sharedApplication] canOpenURL:request.URL])
{
[[UIApplication sharedApplication] openURL:request.URL];
}
return NO;
}
Это также работает. Но мне нужно добавить еще несколько URL-адресов. Мой единственный выбор - добавлять константы «или» и «строка»? Или есть способ сделать массив и сказать «если он соответствует любому из них»? Извините, если этот вопрос кажется упрощенным.
В PHP я бы просто сделать что-то вроде in_array('string', $array)
как мое состояние, я думаю, что я ищу, как сделать это в прошивкой
Список уникальных строк или просто посмотреть, существует ли он и добавить его в один? Извините, я сейчас немного читаю это ... У обоих из них уже есть ответы, я укажу вам правильный каталог –