我有一种方法可以使用NSDataDetector
检测来自字符串的链接:
extension String
{
func isLink() -> Bool {
var urlString = self
let detector = try! NSDataDetector(types: NSTextCheckingType.Link.rawValue)
let matches = detector.matchesInString(self, options: [], range: NSRange(location: 0, length: self.utf16.count))
if matches.count > 0 {
return true
}
return false
}
}
效果很好,但是对于某些特定的字符串,它不会(例如: lll.pm )。 我真的不知道该怎么做,这个链接适用于Safari和Chrome,所以我猜他们正在使用不同的东西来检测链接。