Ios ResearchKit:根据先前的响应更改选项

Ios ResearchKit:根据先前的响应更改选项,ios,researchkit,Ios,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 numbe

我正在使用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后无法创建新步骤,但可以使用新数组更新步骤的应答格式

for(ORKQuestionStep* step in ((ORKOrderedTask*)self.task).steps) {
            if([step.answerFormat isKindOfClass:[ORKValuePickerAnswerFormat class]]) {
               step.answerFormat = [[ORKValuePickerAnswerFormat alloc] initWithTextChoices:arrayOfChoices];
            }
        }
看一看。(有关用法示例,请参见
ORKTest

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

您还可以使用:

func step(after step: ...) and
func step(before step: ...)
使用这些,您可以动态创建步骤本身。
但是,您还失去了一些其他功能,必须自己管理所有导航。

这是一个不错的选择,但我不能使用它,因为用户可以拥有无限多的汽车,而我无法为每个选项生成一个步骤。@FelipeOliveira:您找到了解决方案吗?正如您所提到的,ResearchKit看起来更像静态解决方案,而不是动态解决方案!看到我的回答了吗@BishalGhimire