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

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

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

  • ...
  • 如果不显示这些解决方案
  • ...
  • ...

  • 我创建了模型
    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
    }
    

    但是我不知道如何根据用户的答案显示解决方案。实现此目标的最佳方法是什么?

    谢谢。

    最佳答案

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

    实际上,我会在您的upvote中添加一个FaqSolution属性

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

    然后按增加的数量对解决方案进行排序。

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

    关于ios - 如何根据用户答案为常见问题解答创建模型?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53205089/

    10-12 00:30
    查看更多