我是一名新手 iPhone 开发者,也不熟悉 Objective-C。使用 ZBar SDK,我开发了一个基本应用程序,可以扫描照片库中的 QR 图像,并输出它所翻译的内容。
我想知道是否有一种方法可以获取输出结果,判断它是否为 URL,如果是,则在浏览器中打开它。
我是一名新手 iPhone 开发者,也不熟悉 Objective-C。使用 ZBar SDK,我开发了一个基本应用程序,可以扫描照片库中的 QR 图像,并输出它所翻译的内容。
我想知道是否有一种方法可以获取输出结果,判断它是否为 URL,如果是,则在浏览器中打开它。
如果传递的URL无效,NSURL的URLWithString将返回nil。因此,您可以检查返回值以确定URL是否有效。
更新
仅使用URLWithString:
通常是不够的,您可能还想检查url是否具有方案和主机,否则,像al:/dsfhkgdsk
这样的url将通过测试。
因此,您可能需要像这样做:
NSURL *url = [NSURL URLWithString:yourUrlString];
if (url && url.scheme && url.host)
{
//the url looks ok, do something with it
NSLog(@"%@ is a valid URL", yourUrlString);
}
如果你只想接受 HTTP URL,你可能想要添加 [url.scheme isEqualToString:@"http"]
。
我找到了一种替代方案,可以这样做。
NSURLRequest *req = [NSURLRequest requestWithURL:[NSURL URLWithString:@"yourstring"]];
bool valid = [NSURLConnection canHandleRequest:req];
来源: https://stackoverflow.com/a/13650542/2513947
以下是需要翻译的内容: NSString *getString =[[NSUserDefaults standardUserDefaults]valueForKey:@"searchKey"];
if([getString rangeOfString:@"Www"].location == NSNotFound
&& [getString rangeOfString:@"www"].location == NSNotFound && [getString rangeOfString:@"com"].location == NSNotFound)
{
[companyNameTF setText:[[NSUserDefaults standardUserDefaults]valueForKey:@"searchKey"]];
}
else
{
[websiteTF setText:[[NSUserDefaults standardUserDefaults]valueForKey:@"searchKey"]];
}
URLWithString
方法,因为NSURL *url = [NSURL URLWithString:@"a"];
会返回一个"a"字符串。请参考https://dev59.com/_XM_5IYBdhLWcg3wPAVF。 - 6 1host
检查是否可以? - adiblength
,因为字符串 "a" 对于它的方案返回一个空字符串。 - adib