#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
спецификатор формата для печати значения.