首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSDataDetector找不到.io网站

NSDataDetector找不到.io网站
EN

Stack Overflow用户
提问于 2015-05-13 14:35:33
回答 2查看 372关注 0票数 1

这不是很重要,但是如果我像NSDataDetector一样使用这里并使用它进行网页链接,我可以用.com、.us甚至.ca显示所有的网站,但是如果我使用http://website.io,它是工作的,但是如果文本是website.io,它就不起作用了。

有人有办法让它起作用吗?

如果需要的话,在游乐场工作的示例代码:

代码语言:javascript
复制
var string = "website.io is not ok but website.com is ok"
var error: NSError?
let detector = NSDataDetector(types: NSTextCheckingType.Link.rawValue, error: &error)
detector?.enumerateMatchesInString(string, options: nil, range: NSMakeRange(0, (string as NSString).length)) { (result, flags, _) in
    println(result)
    println(flags)
}

输出为website.com {25,11}

缺少website.io {0,10}

编辑:

它不是写在wiki英语上,而是在我的语言上,有一些“自满”领域,如.ad .am .cd .co .io .me .mu .nu .tv .je .sr。

我只是试着,只有.me才能工作。这是苹果对这个“仍然”顶级域名的限制吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-05-13 19:57:39

请随时向苹果公司提交一个bug。然而,我认为它是故意省略的,因为"io“在意大利语中是指我,而有些人在完成句子时没有在圆点后面加上空格。因此,如果添加了.io,就会检测到"buon giorno.io non so“作为链接(不是)。包括http://或另一个标记(如<> )将强制检测。

票数 2
EN

Stack Overflow用户

发布于 2015-05-13 20:02:38

一些TLDs没有被NSDataDetector检测到,原因不明(尽管Deniau的猜测似乎是可信的)。

一个常见的解决方法是使用twitter-text-objc,它将检测所有的TLD。调用[TwitterText URLsInText:]以获得一个匹配URL数组。您可以使用这些返回的range来创建链接等。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30218034

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档