4
   fourLetterWord = @"isdjfiodjof";
   if ([UIReferenceLibraryViewController dictionaryHasDefinitionForTerm:fourLetterWord]) {
        self.display.text = fourLetterWord;
        return;
    }
    else
        fourLetterWord = @"";

该字符串正在被接受。我不知道我在这里做错了什么,但在 4.5 之前它工作得很好。这是 xcode 4.5 的问题,还是我的代码有问题?

4

3 回答 3

2

我刚刚遇到了同样的问题并开始解决它。[UIReferenceLibraryViewController dictionaryHasDefinitionForTerm:fourLetterWord]) 方法由于某些原因在模拟器中不起作用,Apple 需要修复它。

但是,如果您在设备中测试您的应用程序 [UIReferenceLibraryViewController dictionaryHasDefinitionForTerm:fourLetterWord]) 方法运行并为您提供正确的结果。

虽然它有点慢。

希望有帮助。

于 2012-10-19T21:22:19.833 回答
1

dictionaryHasDefinitionForTerm:如果还没有下载字典,则总是返回YES(因为如果没有字典,它无法知道该单词是否在其中)。

当您在任何应用程序中实际显示字典弹出框时,会自动提供下载。我认为按需下载功能是在 iOS 6 中引入的,以及英语以外的其他语言的词典。

于 2013-05-26T17:37:47.947 回答
0

我的经验是,这在运行 iOS 5.1.1 的 iPad 上运行良好,但在运行 iOS 6.1.3 的 iPod 上每次都返回 TRUE。我已将其记录为 Apple 的错误。

更新:omz 是对的。一旦我将 Apple 的词典下载到我的 iOS6 iPod 上,它就会正确验证单词。很久以前我在我的 iPad 上安装了 iOS5,我不记得我是手动安装还是为我完成的。无论如何,它需要在 iOS6 上手动安装才能使用此方法。

于 2013-05-26T16:49:52.397 回答