如果用户回答了2个或更多"是"我有三个问题需要询问。该调查目前有12个问题,如果用户对两个或更多问题回答“是”,那么我想添加3个额外问题。 (或者我总是将3个额外的问题添加到我的ORKOrderedTask中,然后我会跳过最后3个问题,用户没有回答"是"到2个或更多问题)。
我一直在玩#34; taskViewController didChange"让我检查当前问题的当前答案是否是"是"或"不"。如果答案是"是"我有一个不断递增的计数器。
现在,如果计数器达到2,我只需要添加3个新问题。(如果计数器永远不会达到2,则跳过最后3个问题。)
解决方案
一旦第一次调查完成,就可以更轻松地创建新的调查,而不是修改当前的调查。对我来说,我只需要检查用户回答了多少次"是"。因此,我在" didFinish"中使用了这段代码。 (调查完成后执行的功能)检查我的答案:
//If reason.rawValue is 2,then survey was successfully completed.
if(reason.rawValue == 2){
if let results = taskViewController.result.results as? [ORKStepResult] {
for stepResult: ORKStepResult in results {
for result in ([ORKResult]?(stepResult.results!))!{
if let questionResult = result as? ORKQuestionResult {
print("\(questionResult.answer!)") // This print each answer
}
}
}
}
}
然后,你做了你需要做的答案,然后你打电话:
let viewController = self.storyboard?.instantiateViewController(withIdentifier: "IdentifierInYourStoryboard")
taskViewController.present(viewController, animated: true, completion: nil)
或制作segue或您希望使用的任何过渡方法。我使用了故事板。