Как добавить дополнительные поля в EKEvent

Одним из решений может быть:

Создание новой модели EKEventExt и добавление отношения «один к одному» между ними, я не уверен, что это выполнимо, поскольку EKEventExt хранится в моем одном sqlite, а EKEvent хранится в хранилище событий.


person Yuwen Yan    schedule 13.09.2015    source источник
comment
Когда вы говорите sqlite, вы имеете в виду Core Data?   -  person Yuchen    schedule 13.09.2015
comment
да, я использую sqlite в качестве базы данных ядра   -  person Yuwen Yan    schedule 13.09.2015
comment
Раньше я добавлял текст с разделителями в поле notes некоторых событий, чтобы хранить в нем дополнительные данные, но никогда не мог понять, как на самом деле добавлять поля.   -  person Dustin Spengler    schedule 31.08.2016


Ответы (1)


Можно было бы добавить настраиваемые поля в форматы календаря, такие как iCal (например, x-my-field), нет свойства EKEvent, такого как .customFields и т. д. Сказав это, к сожалению, невозможно сохранить ваши пользовательские данные ни в каких полях. Можно было бы создать свой собственный файл iCal, а затем указать свои настраиваемые поля, но они очень быстро потеряются.

Я предлагаю вам использовать ваши данные, преобразовать их в строки или идентификатор и сохранить их в URL-адресе или в поле «Примечания». Это гарантирует, что ваши данные будут перенесены в календарь и синхронизированы где угодно. Если вы хотите, чтобы пользователь не смог прочитать ваши пользовательские данные, используйте версию строки base64. Вот как я это делаю, и это работает довольно хорошо.

Чтобы ответить на ваш предстоящий вопрос: нет, к сожалению, невозможно сделать одно из этих полей доступным только для чтения...

person mmika1000    schedule 27.06.2017