Мне нужно сохранить ленту активности в приложении для iOS. У элементов ленты активности будет поле payload
, которое может быть одним из многих (и я действительно имею в виду много) типов объектов в системе.
Какой хороший способ реализовать это поле payload
для сущности Activity
в моей модели CoreData?
Можно ли использовать тип данных id
или, возможно, использовать тип NSManagedObject
?
Один из способов обойти это, возможно, просто сохранить entityId CoreData в виде строки в специальном поле, но я бы предпочел этого избежать, если есть лучший способ.
Пример:
Для простоты, скажем, у нас нестандартная модель блогов: User
, Blog
, BlogPost
, Comment
и могут произойти следующие действия:
- Пользователь может создать новый блог.
- Пользователь может опубликовать новое сообщение в блоге.
- Блог можно комментировать.
- Комментарий, возможно, понравился.
- и т.д.
Каждый из них генерирует новый элемент Activity
на веб-сайте, который, в свою очередь, имеет отношение payload
к элементу, который был изменен или воздействовал на него.
Теперь мне нужно загрузить, перевести и сохранить эти элементы фида активности с веб-сайта в моем приложении для iPhone ... так как мне имитировать это поле payload
, поскольку оно может указывать на любую возможную сущность?
Однако в моем реальном коде есть более 10 типов объектов, которые можно поместить в это поле payload
, поэтому я ищу здесь хороший подход.