spa*_*oth 1 validation objective-c nsurl phone-number ios
我有一个带有UITextView的iOS应用程序,可自动检测链接和电话号码.我想要做的是使用以下链接点击链接时拦截:
-(BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL *)URL inRange:(NSRange)characterRange
Run Code Online (Sandbox Code Playgroud)
然后我需要检查URL是Web链接还是电话号码.
有谁知道怎么做?我能想到的唯一方法是将其转换为字符串并检查它是否以@"tel"开头,但必须有更好的方法.谢谢!
有一个更好的办法.
NSURL对象具有scheme属性,该属性将标识它的URL类型.
if ([URL.scheme isEqualToString:@"tel"]) {
// handle telephone case here
} else {
// handle http or other case here
}
Run Code Online (Sandbox Code Playgroud)
文档说在大多数情况下,该方案可被视为协议:
注意
在谈论基于网络的URL方案时,有时也使用术语"协议".但是,并非所有URL方案都是网络协议 - 例如data:// URL.
有关如何拆分URL以使用所需部件的详细信息,请查看NSURL文档的此部分: 访问URL的部分(截至2015年5月21日的有效链接)