2016-03-04 15 views
0

概述: 我正在開發我的第一個應用程序。它收集用戶位置信息以跟蹤騎自行車。我的內容保存到一個文本文件(座標信息和屬性信息),那麼用戶可以導出自己的數據出來的iPhone應用程序作進一步的分析。我已經成功地添加了一個保存文本文件功能來存儲上述信息以及將該文件導出到應用程序之外的功能。收集/訪問ResearchKit結果並保存到文件

問題: 我已經設置了一個ResearchKit調查來收集可以綁定到用戶騎車的附加屬性信息。樣題包括:爲什麼用戶乘坐/出行目的的天氣怎麼等)。我想將ResearchKit調查的結果附加到具有座標信息的文本文件,或者根據需要創建單獨的文本文件。我知道我需要以某種方式訪問​​ORKStepResult任務,但我不熟悉這個過程。

研究: 我已搜查Github上使用researchKit示例應用程序,但結果很書面斯威夫特應用程序的限制。我不是一個足夠舒適的「開發人員」,能夠閱讀Objective-C,然後將其翻譯成Swift ...有一天!我也看了Rey Wenderlich的教程,但他們沒有提及如何訪問,保存和導出調查結果。我已經看過StackExchange上的其他問題,但大多數答案都與Objective-C有關。

謝謝StackExchange您的幫助將不勝感激!

回答

4

基本上,可以通過在ORKTaskViewController代表實施func taskViewController(taskViewController: ORKTaskViewController, didFinishWithReason reason: ORKTaskViewControllerFinishReason, error: NSError?)方法,並從那裏訪問taskViewController.result訪問結果樹(其具有ORKTaskResult obect作爲根)。

然後,通過遞歸迭代ORKTaskResultresults屬性,直到到達樹葉,並且可以按所選格式訪問和存儲所需信息。

ORKResult.h文件不同的結果類型的文檔。


如果只是打印根ORKTaskResult控制檯(或文本文件),它會遞歸地顯示所有的結果樹,但我認爲這不是一個完全合適的格式,因爲這些節目對象名稱和內存地址,你不需要。


最後,你可能想看看在官方庫的ORKCatalog示例項目。當您運行的應用程序,它有一個結果標籤,它顯示爲最後運行調查或活動的結果。

讀取並顯示結果的代碼位於ORKCatalog項目的Displaying Results組中。 This是上述任務去把委託方法,其進而在設定的結果的結果的視圖控制器如圖here,和最終得到由在ResultTableViewProviders.swift文件中的代碼進行處理。

但是,這裏的結果處理代碼有點涉及(因爲它說明了所有不同的結果類型),如果您只想處理特定類型的結果,您的解決方案可能會簡單得多。

相關問題