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

我正在开发我的第一个ResearchKit应用程序。 我一直在看这个video 。 其中一种对我有用的技术是将调查结果序列化为JSON。 video中使用的方法是ORKESerializer.JSONDataForObject(taskResult) 。 他解释说,这不是研究套件的标准部分,但它被包含在GitHub上的一个名为ORKTest的testing应用程序中。

我设置了我的taskViewController委托,就像他在video上设置的那样:

 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文件中,我find了2个文件。 一个叫ORKESerialization.h ,一个叫ORKESerialization.m 。 我试着将这些文件拖到我的项目中,因为我在video中看到了这个男人项目中的文件。 然后,这也促使我创build一个桥接头文件,我也在他的项目中看到。

显示我的项目中包含的文件

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

谢谢!

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

  #import "ORKESerialization.h"