ResearchKit не имеет готового решения для хранения ваших результатов. Как правило, разработчик должен пройти через иерархию ORKResult
и либо продолжать обрабатывать результаты для последующего доступа, либо отправлять их на удаленный сервер.
У вас есть несколько вариантов здесь:
Использование NSCoding для хранения ванили ORKTaskResult
(с их ORKResult
детьми). Таким образом, вы сможете воссоздать всю иерархию ORKTaskResult
в дальнейшем, чтобы проверить или обработать ее.
Используйте ORKESerializer
(как вы догадались) сериализовать ORKResult
сек в формате JSON . ORKESerializer
в настоящее время входит в состав модульных тестов ORKTest
, и он не документирован очень хорошо. Возможно, что в будущем он будет перенесен в ResearchKit, но теперь он полностью доступен. Формат JSON особенно полезен, если вы хотите отправить результаты на любой удаленный сервер.
Вы можете вручную выполнить итерацию через ORKResult
s и преобразовать их в объекты, которые подходят для хранения или записи в базу данных. Как вы сказали, вы можете сохранить их, используя SQLite; или другую базу данных по вашему выбору; или Core Data.
Подводя итог, нет рекомендуемого или стандартного метода для сохранения результатов, это зависит от ваших потребностей.
Вы также можете ознакомиться с официальным номером open sourced RK apps. Я думаю, что они используют в AppCore библиотеки (который сидит на вершине ResearchKit) для хранения результатов задачи (а также использовать Sage моста отправить результаты на сервера Sage «s). Но это может быть за бортом, если ваши потребности проще.
Я предлагаю вам запустить приложение образца ORKCatalog
, а затем проверить ORKTaskResult
иерархии (вы можете сделать это в самом приложении). Вы получите представление о том, как выглядит иерархия результатов.
yes ORKResults полностью отличается от хранилища, мы можем использовать его по своему усмотрению. –