Я хочу, чтобы мое приложение распознало, является ли текущее содержимое буфера обмена URL-адресом, и если это так, я хочу, чтобы оно загружало этот URL-адрес в веб-просмотр.Я использую следующий оператор для этой проверки:
if ([pasteboard containsPasteboardTypes: [NSArray arrayWithObject:@"public.url-name"]])
...code to load the URL into the webView
, но он не работает - оператор IF всегда возвращается как FALSE, даже если содержимое буфера обмена является явно URL-адресом.Как ни странно, хотя, когда я удаляю этот оператор IF и просто загружаю URL, который я прочитал из буфера обмена, в webView, он работает отлично.Так что это определенно просто заявление IF, которое по какой-то причине не работает.
Вот полный код:
// executed on a Button-click:
-(IBAction) showClipBoard {
pasteboard = nil; // resetting the pasteBoard each time
pasteboard = [UIPasteboard generalPasteboard];
NSURL *tempURL = pasteboard.URL;
//Check the pasteboard's value-type:
if ([pasteboard containsPasteboardTypes: [NSArray arrayWithObject:@"public.url-name"]]) {
NSLog(@"URL is: %@", pasteboard.string);
NSURL *url = [NSURL URLWithString: pasteboard.string];
NSURLRequest *req = [NSURLRequest requestWithURL: url];
[webView loadRequest:req];
}
else
NSLog(@"=NOT a valid web-address");
NSString *tempString = [pasteboard valueForPasteboardType:@"public.utf8-plain-text"];
// Show the URL in a text-view box called "clipText":
clipText.text = tempString;
}
Кто-нибудь видит, что здесь не так?