如何根据用户答案为常见问题解答创建模型?

时间:2018-11-08 09:45:16

标签: ios json swift

我想创建常见问题视图控制器。但是我找不到创建模型的最佳方法。

我想根据用户的答案显示多种解决方案。例如

  • 应用程序问题
    • 许可证发行
      • 许可证无效
        • 此许可曾经在应用中输入过吗?
          • 如果是,请显示这些解决方案
            • ...
            • 此解决方案是否解决了您的问题?
                • ...
          • 如果没有显示这些解决方案
            • ...
        • ...

我创建了模型

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 :(得分:0)

我认为您在FaqSolution中需要某种支持(例如stackoverflow)。 我了解人们的方式可以在“评论”部分(例如stackoverflow)中给出解决方案?现在,您只有一个注释数组(“解决方案”),但是没有对它们进行排序的选项。使用投票系统,您可以对已投票等的解决方案进行排序。

实际上,我会将upvote属性添加到您的FaqSolution

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

然后按投票数对解决方案进行排序。

如果您要为用户提供解决方案,而该解决方案的问题已经由另一个用户提出过。然后,您可能需要在描述关键字上使用某种识别系统。 最简单的方法是让用户可以选择添加诸如stackoverflow之类的关键字(swift,ios,tableview等)。这种方式可以根据用户提供的关键字对所有解决方案/问题进行排序。