Учитывая следующее struct
:
struct Landmark {
let id: String
let name: String
let location: CLLocationCoordinate2D
}
И следующее @State
:
@State var landmarks: [Landmark] = [
Landmark(id: "1", name: "Sydney Harbour Bridge", location: .init(latitude: -33.852222, longitude: 151.210556)),
Landmark(id: "2", name: "Brooklyn Bridge", location: .init(latitude: 40.706, longitude: -73.997))
]
private func selectNextLandmark() {
if let selectedLandmark = selectedLandmark, let currentIndex = landmarks.firstIndex(where: { $0 == selectedLandmark }), currentIndex + 1 < landmarks.endIndex {
self.selectedLandmark = landmarks[currentIndex + 1]
} else {
selectedLandmark = landmarks.first
}
}
Я получаю следующую ошибку в строке if
внутри selectNextLandmark
:
Операторская функция '==' требует, чтобы 'Landmark' соответствовал 'Equatable'
Есть ли проблема с моим Landmark
struct
илиэто проблема с синтаксисом оператора if
?