Управление результатами из Research-Kit - PullRequest
0 голосов
/ 03 мая 2019

Я использую задачу пространственной памяти из ResearchKit и пытаюсь внедрить ResearchKit, используя cocoapods. Я представляю код из ResearchKit как:

public var ActiveTask: ORKOrderedTask {
    return ORKOrderedTask.spatialSpanMemoryTask(withIdentifier: "SpatialMemoryTask",
                                                           intendedUseDescription: "Blah, blah",
                                                           initialSpan: 3,
                                                           minimumSpan: 1,
                                                           maximumSpan: 4,
                                                           playSpeed: 0.5,
                                                           maximumTests: 3,
                                                           maximumConsecutiveFailures: 4,
                                                           customTargetImage: nil,
                                                           customTargetPluralName: nil,
                                                           requireReversal: false,
                                                           options: ORKPredefinedTaskOption())

}

Теперь я хочу получить ответы от ResearchKit, такие как: правильная последовательность, последовательность ответов, оценка, отметка времени последовательности ответов, отметка времени правильной последовательности, когда цветы начали мигать.

Я написал результат в методе так:

    func taskViewController(_ taskViewController: ORKTaskViewController, didFinishWith reason: ORKTaskViewControllerFinishReason, error: Error?) {
        let taskResult = taskViewController.result
        print(taskResult)
        let stepResult = taskResult.stepResult(forStepIdentifier: "cognitive.memory.spatialspan")
        if let result = stepResult?.firstResult as? ORKSpatialSpanMemoryResult
        {
            print(result)
        }

        dismiss(animated: true, completion: nil)
        taskViewController.view.removeFromSuperview()
        taskViewController.removeFromParent()
    }

Однако я не могу получить результат, Может ли кто-нибудь помочь мне с этим. вывод команды печати такой же как

<ORKTaskResult: 0x6000030b7020; identifier: "SpatialMemoryTask"; results: (
    <ORKStepResult: 0x6000030ba800; identifier: "instruction"; enabledAssistiveTechnology: None; results: ()>,
    <ORKStepResult: 0x6000030a6f80; identifier: "instruction1"; enabledAssistiveTechnology: None; results: ()>,
    <ORKStepResult: 0x6000030be620; identifier: "cognitive.memory.spatialspan"; enabledAssistiveTechnology: None; results: (
        <ORKSpatialSpanMemoryResult: 0x6000030bdcc0; identifier: "cognitive.memory.spatialspan"; score: 165>
    )>,
    <ORKStepResult: 0x6000030b6990; identifier: "conclusion"; enabledAssistiveTechnology: None; results: ()>
)>
<ORKSpatialSpanMemoryResult: 0x6000030bdcc0; identifier: "cognitive.memory.spatialspan"; score: 165>

Может ли кто-нибудь помочь мне с получением результатов и сказать, что я не так делаю.

...