Одним из решений может быть:
Создание новой модели EKEventExt
и добавление отношения «один к одному» между ними, я не уверен, что это выполнимо, поскольку EKEventExt
хранится в моем одном sqlite, а EKEvent
хранится в хранилище событий.
Одним из решений может быть:
Создание новой модели EKEventExt
и добавление отношения «один к одному» между ними, я не уверен, что это выполнимо, поскольку EKEventExt
хранится в моем одном sqlite, а EKEvent
хранится в хранилище событий.
Можно было бы добавить настраиваемые поля в форматы календаря, такие как iCal (например, x-my-field
), нет свойства EKEvent
, такого как .customFields
и т. д. Сказав это, к сожалению, невозможно сохранить ваши пользовательские данные ни в каких полях. Можно было бы создать свой собственный файл iCal, а затем указать свои настраиваемые поля, но они очень быстро потеряются.
Я предлагаю вам использовать ваши данные, преобразовать их в строки или идентификатор и сохранить их в URL-адресе или в поле «Примечания». Это гарантирует, что ваши данные будут перенесены в календарь и синхронизированы где угодно. Если вы хотите, чтобы пользователь не смог прочитать ваши пользовательские данные, используйте версию строки base64. Вот как я это делаю, и это работает довольно хорошо.
Чтобы ответить на ваш предстоящий вопрос: нет, к сожалению, невозможно сделать одно из этих полей доступным только для чтения...
sqlite
, вы имеете в виду Core Data? - person Yuchen   schedule 13.09.2015notes
некоторых событий, чтобы хранить в нем дополнительные данные, но никогда не мог понять, как на самом деле добавлять поля. - person Dustin Spengler   schedule 31.08.2016