xcode соответствует первому символу схемы requestURL - PullRequest
0 голосов
/ 27 июля 2011

Я анализирую UIWebViewNavigationTypeLinkЩелкните, чтобы запустить Safari, набрать номер и т. Д.

Иногда появляется именованный якорь, по которому я хочу перейти по UIwebview, но также хочу убедиться, что это не лишняя ссылка на файл, оставленная в HTML.

Решение - проверить, начинается ли ссылка с #

Я использую это, он проверяет, существует ли #, если ссылки начинаются с #

NSURL *requestURL = [request URL];

if (navigationType == UIWebViewNavigationTypeLinkClicked) {

    if ([[requestURL scheme] isEqualToString: @"file" ]) {

        NSLog(@"I think it's a file", nil);

        NSString *urlString = [requestURL absoluteString];
        NSLog(@"Url as string: %@", urlString);

        if ([urlString rangeOfString:@"#"].location != NSNotFound) {

            // Do nothing, let it be handled by the web view


        } else {

            UIAlertView *errorView = [[UIAlertView alloc] 
                                      initWithTitle: @"Link Error" 
                                      message:@"Sorry!, don't seem to be able to open this link" 
                                      delegate:self 
                                      cancelButtonTitle:nil 
                                      otherButtonTitles:@"OK", nil];
            [errorView show];
            [errorView release];

        }


    }
}

Есть ли способ сопоставления только первого символа?

1 Ответ

0 голосов
/ 27 июля 2011

Вы можете использовать if ([[requestURL схема] substringWithRange: NSRangeMake (0,1)] isEqualTo: @ "#")

Примечание: не проверено, дайте мне знать, если это работает.

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