ios - 如何在我的应用程序中使用 ORKESerializer?

标签 ios json researchkit

我正在开发我的第一个 ResearchKit 应用程序。我一直在看this video .其中一项对我有帮助的技术是将调查结果序列化为 JSON。视频中使用的方法是ORKESerializer.JSONDataForObject(taskResult)。他解释说这不是 researchKit 的标准部分,但它包含在 GitHub 上名为 ORKTest 的测试应用程序中。

我设置了我的 taskViewController 委托(delegate),就像他在视频中设置的那样:

extension ViewController : ORKTaskViewControllerDelegate {

    func taskViewController(taskViewController: ORKTaskViewController, didFinishWithReason reason: ORKTaskViewControllerFinishReason, error: NSError?) {
        switch reason {
        case .Completed:
            let taskResult = taskViewController.result

            let jsonData = try! ORKESerializer.JSONDataForObject(taskResult)
            if let jsonString = NSString(data: jsonData, encoding: NSUTF8StringEncoding) {
                print(jsonString)
            }
            break

        case .Failed, .Discarded, .Saved:
            break

        }
        //Handle results with taskViewController.result
//        let taskResult = taskViewController.result
        taskViewController.dismissViewControllerAnimated(true, completion: nil)
    }

}

编译时出现此错误:使用未解析的标识符:ORKESerializer

所以在 ORKTest 应用程序中,在 GitHub 文件中,我找到了 2 个文件。一个叫做 ORKESerialization.h,一个叫做 ORKESerialization.m。我尝试将它们拖到我的项目中,因为我在视频中看到了该人项目中的那些文件。然后这也促使我创建一个桥接头文件,我也在他的项目中看到了。

shows files included in my project

这样做之后,我仍然遇到同样的错误。事实上,我不知道如何将这些序列化包包含在我的应用程序中。有谁知道如何包含正确的文件以便我可以实现此 ORKEserialization 方法?

谢谢!

最佳答案

您需要在桥接 header 中导入 ORKESerialization.h:

  #import "ORKESerialization.h"

关于ios - 如何在我的应用程序中使用 ORKESerializer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36225543/

相关文章:

ios - 如何搜索和组合 NSDictionaries 中的元素作为数组?

swift - 如何在 ResearchKit 中显示图像网格

swift - 从字符串中的 ORKQuestionResult 数组中获取 Researchkit 中的结果?

python - 有没有办法配置 Python 的 JSON 库以在调用 json.loads() 时忽略具有空值的字段?

javascript - 如何在 ReactJS 中快速过滤大型 json 数据集

java - 如何仅使用 json-simple 从嵌套对象中的键获取值

swift - 如何在 ResearchKit 调查中删除 'cancel button'

ios - iOS/Mac 的地址字段验证

ios - 如何一次渲染多个 SpriteKit 节点?

ios - 如何在我的应用程序上只处理横向?