【问题标题】:Creating an iOS Swift Application that gets synonyms and definitions for words entered by the user创建一个 iOS Swift 应用程序来获取用户输入的单词的同义词和定义
【发布时间】:2018-05-25 01:13:26
【问题描述】:

我正在开发一个使用 Swift 的 iOS 应用程序,该应用程序从用户那里获取一个词并找到该词的同义词。然后它提供查找每个同义词的定义。

我进行了大量研究,但一直找不到任何简单的方法来使用 Swift 访问同义词库或字典并获取同义词或定义。我对使用 UIReferenceLibraryViewController 不感兴趣,因为 Apple 反对大量使用它,我希望在 App Store 上发布我的应用程序。我知道有一些字典是使用 Objective-C 构建的,但我不确定如何在我的(当前)仅限 Swift 的应用程序中实现这些字典。

我找到了一个用于牛津词典的 API here,它为 Swift 提供了实现,但是我不确定并因此感到好奇如果还有其他方法。

如果有人知道通过 Swift 访问同义词库或字典的简单方法,以简单地获取单词的同义词列表或单词的定义,我将不胜感激。如果没有简单的方法可以做到这一点,但是有很好的说明可以使用更复杂的方法来做到这一点,那么这些也将不胜感激。谢谢!

【问题讨论】:

  • 如果您对找到的objective-c 库感到满意(根据您在问题中的描述),您可以使用bridging-header 在您的swift 项目本身中使用obj-c 库.
  • 因为我对 Swift 的功能还很陌生,所以我不确定要做到这一点有多么困难。不过,我可以查一下!所以谢谢!然而,我发现更好的 Objective-C 的一个大问题是它们通常需要某种形式的付费才能使用它们,所以我很好奇是否有一个简单的免费的。如果没有,那就太好了!

标签: ios swift database synonym thesaurus


【解决方案1】:

正如您所提到的,99% 的 API 是付费服务或功能有限。但我更喜欢使用的是

https://www.wordsapi.com/

使用 wordapi 的基本版(未付费版),您每天最多可以拨打 2500 次电话。我建议您使用相同的,直到您的应用程序得到一些认可。稍后,如果您觉得您的应用即将产生更多负载,您可以更新到有意义的付费版本。

只需将示例请求放在如何快速制作相同的内容上。替换

地图键

和你的

wordsApiKey

let string = "https://wordsapiv1.p.mashape.com/words/stack/synonyms"
let url = NSURL(string: string)
let request = NSMutableURLRequest(URL: url!)
request.setValue("MapKey", forHTTPHeaderField: "X-Mashape-Key")
request.HTTPMethod = "GET"
let session = NSURLSession.sharedSession()

let request = session.dataTaskWithRequest(request) { (data, response, error) -> Void in
    if let resp = response as? NSHTTPURLResponse {
        // Do what you want to do with your response.
    }
}
request.resume()

为我尝试搜索的单词“stack”提供我得到的响应。 (我尝试使用 curl 命令来获得响应)

    {
  "word": "stack",
  "synonyms": [
    "smokestack",
    "push-down list",
    "push-down stack",
    "heap",
    "pile",
    "push-down storage",
    "push-down store",
    "batch",
    "deal",
    "flock",
    "good deal",
    "great deal",
    "hatful",
    "lot",
    "mass",
    "mess",
    "mickle",
    "mint",
    "mountain",
    "muckle",
    "passel",
    "peck",
    "plenty",
    "pot",
    "quite a little",
    "raft",
    "sight",
    "slew",
    "spate",
    "tidy sum",
    "wad"
  ]
}

除了反义词、定义、示例等同义词外,您还可以使用它的其他功能。 希望这个有帮助。

【讨论】:

  • 太棒了!我会试试这个!谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多