ResearchKit:根据之前的回答改变选择



我正在使用ResearchKit进行调查应用程序,我需要根据之前的响应更改下一个问题的值。例子:

Question 1: How many cars do you have?
- 1 Car
- 2 Cars
- 3 Cars
- 4 Cars
- xx Cars
Question 2: Which is your favorite car?
 - car number 1
 - car number 2
 - car number 3
 - car number 4
 - car number XX

问题2的选项数将基于问题1的选择值。

知道我该怎么做吗?

我找到了一个解决方案,而它是不可能创建新的步骤后,你提出了ViewController,这是可能的更新answerFormat的一个步骤使用一个新的数组

for(ORKQuestionStep* step in ((ORKOrderedTask*)self.task).steps) {
            if([step.answerFormat isKindOfClass:[ORKValuePickerAnswerFormat class]]) {
               step.answerFormat = [[ORKValuePickerAnswerFormat alloc] initWithTextChoices:arrayOfChoices];
            }
        }

看看ORKNavigableOrderedTask。(参见ORKTest中的用法示例)

基本上,您将为第一个问题的所有不同选项定义单独的步骤,然后根据答案有条件地导航到适当的步骤。

您也可以使用:

func step(after step: ...) and
func step(before step: ...)
使用这些,您可以动态地创建步骤本身。然而,你也失去了一些其他的功能,不得不自己管理所有的导航

相关内容

  • 没有找到相关文章

最新更新