#swiftui #protocols #identifiable
Вопрос:
Мне нужен ForEach
массив структур, и поэтому каждая из них должна соответствовать Identifiable
протоколу. Но поскольку эти структуры декодируются из извлеченных JSON, у них уже есть свойство id-идентификатор, используемый в моей базе данных. Должен ли я дать им другой UUID, чтобы соответствовать Identifiable
протоколу? Если нет, то как мне использовать существующее свойство в качестве идентификатора?
struct Event: Codable, Identifiable { let eventID: String let description: String let date: String let location: String let hostID: String let hostName: String // need? let id = UUID() }
Ответ №1:
Используйте вычисленное свойство, чтобы вернуть существующее свойство в качестве идентификатора:
struct Event: Codable, Identifiable { let eventID: String //...other properties var id: String { eventID } //or whatever }
Комментарии:
1. Это сработало. Спасибо!