Swift Соответствует идентифицируемому с существующей собственностью

#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. Это сработало. Спасибо!