Как я могу создать модель для часто задаваемых вопросов на основе ответов пользователя? - PullRequest
0 голосов
/ 08 ноября 2018

Я хочу создать faq view controller. Но я не могу найти лучший подход для создания моделей.

Я хочу показать несколько решений на основе ответов пользователя. Например

  • Проблемы с приложением
    • Лицензия
      • Лицензия недействительна
        • Была ли эта лицензия ранее введена в приложении?
          • Если да, покажите эти решения
            • ...
            • Это решение решило вашу проблему?
              • YES
              • НЕТ
                • ...
          • Если не показывать эти решения
            • ...
        • ...

Я создал модели

struct FaqItem {
    let name: String
    let categories: [FaqCategory]
}

struct FaqCategory {
    let name: String
    let problems: [FaqProblem]
}

struct FaqProblem {
    let name: String
    let solutions: [FaqSolution]
}

struct FaqSolution {
    let description: String
}

Но я не могу понять, как показать решения, основанные на ответах пользователя. Каков наилучший подход для достижения этой цели?

Спасибо.

1 Ответ

0 голосов
/ 08 ноября 2018

Я думаю, вам нужно какое-то голосование (например, stackoverflow) в вашем FaqSolution. Как я понимаю, люди могут дать решения в разделе «комментарии», как stackoverflow? Теперь у вас есть массив комментариев («решения»), но нет возможности отсортировать их. С помощью системы голосования вы можете сортировать решения, за которые проголосовали и т. Д.

На практике я бы добавил upvote свойство к вашему FaqSolution

struct FaqSolution {
    let description: String
    let upvotedCount: Int
}

Затем сортируйте ваши решения по количеству проголосовавших.

Если вы хотите предоставить решения для своего пользователя, у которого есть вопрос, который уже был задан ранее другим пользователем. Тогда вам, вероятно, понадобится какая-то система распознавания по ключевым словам вашего описания. Самый простой способ сделать это - дать пользователям возможность добавлять ключевые слова, например, в stackoverflow (swift, ios, tableview, ...). Таким образом, вы можете сортировать все решения / вопросы по ключевым словам, предоставленным пользователями.

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