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

时间:2016-03-25 18:15:48

标签: ios json researchkit

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

我设置了我的taskViewController委托,就像他在视频中设置了一样,如下所示:

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)
    }

}

我在编译时收到此错误:use of unresolved identifier: ORKESerializer

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

shows files included in my project

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

谢谢!

1 个答案:

答案 0 :(得分:2)

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

  #import "ORKESerialization.h"