Использование NSLog для печати navigationType

#objective-c #ios #xcode

#objective-c #iOS #xcode

Вопрос:

У меня есть следующий абзац:

 - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType *)navigationType {
    NSURL * url = [request URL];
    NSRegularExpression* regex = [[NSRegularExpression alloc] initWithPattern:@"loggedout" options:(NSRegularExpressionOptions)NSCaseInsensitiveSearch error:NULL];
    NSString *urlString = [url absoluteString];
    NSUInteger numberOfMatches = [regex numberOfMatchesInString:urlString options:0 range:NSMakeRange(0, [urlString length])];    
    [regex release];
    if (numberOfMatches > 0) {
//        NSLog(@"%@", url);
//        NSLog(@"%i", numberOfMatches);
        [self.navigationController popViewControllerAnimated:YES]; 
        return NO;
    }
    if (UIWebViewNavigationTypeLinkClicked == navigationType)
    {
        [[UIApplication sharedApplication] openURL:url];
        return NO;
    }
    return YES;
}
  

Я хотел бы распечатать переменную «navigationType» с помощью NSLog, но я не могу найти спецификатор формата (например: @»%@» или @»% d»), который совместим с переменной или не вызывает сбой приложения. Может кто-нибудь посоветовать?

Ответ №1:

Попробуйте NSLog(@"NavigationType: %i", navigationType);

Ответ №2:

UIWebViewNavigationTypeLinkClicked включен ли typedef NSUInteger .
Используйте %lu спецификатор формата для печати значения.