如何检查单词是否在cocoa-touch的英文字典中定义?

问题描述:

我想为IOS做一个填字游戏的应用程序,但我不知道如何检查一个字符串是否有效的英文单词。如何检查单词是否在cocoa-touch的英文字典中定义?

我该如何检查它。 有没有API或在线设施来检查它。 在此先感谢

+0

http://*.com/questions/5675128/how-to-check-spelling-entered-in-textview – jbat100

易于在iOS5中使用UIReferenceLibraryViewController类'+dictionaryHasDefinitionForTerm:方法。

一个UIReferenceLibraryViewController对象提供的字典 服务来查找术语的定义。使用initWithTerm:方法创建并初始化参考库视图控制器 。 您将术语定义为此方法的参数,并显示 定义。您可以模态地显示此视图控制器 或作为另一个界面的一部分。在iPad上,您可以将参考 库视图控制器设置为 UIPopoverController对象的内容视图控制器。 (可选)使用 dictionaryHasDefinitionForTerm:类方法来检查,如果一个定义 是可用于给定项创建实例,例如前, 使用,如果你想根据 定义是否可以更改用户界面此方法。

+0

此方法对于术语“TEN”返回false。它是如何工作的? – humblePilgrim

这里没有API。

为了做到这一点,您需要在应用程序包中包含字典文件(文本文件或数据库)。其中一种更快的检查方法是在应用程序启动时将字典加载到内存中,这样您就不必为每个字读取文件。如果你只是想要硬编码的填字游戏,这可能是过度的,但如果你随机产生它们,那么这是必须的。

+3

这是完全错误的。 – memmons

+0

-1 - 可能(或可能不)是iOS5中的Dictionary API(我无法肯定地说,因为我没看过)。但是,我知道有许多不同的在线词典API可用。其中之一是Wordnik(http://wordnik.com),我在自己的应用程序中使用它来定义单词。 – Jasarien

+0

* Answerbot *:请外推。 * Jasarien *:你为什么要强迫你的用户连接到互联网来检查单词的有效性?由于OP指的是纵横字谜,我假设他不希望用户在播放每个单词后可能需要等待几秒钟。对填字游戏的常见要求是计时器,并且必须等待每个单词被验证不仅会影响总的游戏时间,而且还会对用户造成麻烦。我不同意这两种看法(特别是解释他的推理的Answerbot),但我尊重你的意见。 – FreeAsInBeer