Создание приложения iOS Swift, которое получает синонимы и определения для слов, введенных пользователем - PullRequest
0 голосов
/ 25 мая 2018

Я работаю над приложением iOS, использующим Swift, которое берет слово от пользователя и находит синонимы для этого слова.Затем он предлагает найти определения для каждого из этих синонимов.

Я провел много исследований, но у меня возникли проблемы с поиском простого способа доступа к тезаурусу или словарю с помощью Swift и получения синонимов или определений.Я не заинтересован в использовании UIReferenceLibraryViewController, поскольку Apple против его частого использования, и я надеюсь разместить свое приложение в App Store.Я знаю, что есть некоторые словари, созданные с использованием Objective-C, но я не был бы уверен, как реализовать их в моем (в настоящее время) Swift-only приложении.

Я нашел один API для оксфордских словарей здесь , который обеспечивает реализацию для Swift, но есть несколько препятствий (таких как цены и ключи приложений, которых у меня еще нет), которые яЯ не уверен, и поэтому мне любопытно, есть ли какие-либо другие методы там.

Если кто-нибудь знает простой способ доступа к тезаурусу или словарю через Swift, чтобы просто получить список синонимов для слова или определения слова, я был бы очень признателен.Если нет простых способов сделать это, но есть хорошие инструкции для более сложного способа сделать это, они также будут оценены.Спасибо!

1 Ответ

0 голосов
/ 25 мая 2018

Как вы уже сказали, 99% API являются платными услугами или имеют ограниченные возможности.Но все же я бы предпочел использовать

https://www.wordsapi.com/

С базовой версией wordapi (неоплачиваемая версия) вы можете совершать до 2500 звонков в день.,Я бы посоветовал вам использовать то же самое, пока ваше приложение не получит некоторое признание.Позже, если вы чувствуете, что ваше приложение загружается больше, вы можете обновить его до платной версии, что имеет смысл.

Просто поместите образец запроса о том, как сделать это быстро.Замените

MapKey

на

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()

Помещая ответ, который яполучил за слово "стек", который я пытался найти.(Я попытался с помощью команды 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"
  ]
}

Существуют и другие функции, кроме синонимов, таких как антонимы, определения, примеры и т. Д., Которые вы можете использовать.Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...