yandexmobile / yandexmapkit-ios

Yandex Map Kit for iOS
Other
173 stars 30 forks source link

YMKPoint не сравниваются. #215

Open andymedvedev opened 4 years ago

andymedvedev commented 4 years ago

Здравствуйте, может кто-нибудь подсказать почему при сравнении YMKPoint с одинаковыми координатами выдает false?

let p1 = YMKPoint(latitude: 50, longitude: 50)
let p2 = YMKPoint(latitude: 50, longitude: 50)

print(p1 == p2) // false

Так же поэтому не работает следующий код:

let set = Set([YMKPoint(latitude: 50, longitude: 50)])

print(set.contains(YMKPoint(latitude: 50, longitude: 50))) // false
ivoneug commented 2 years ago

Привет, думаю все дело в том, что точка это класс и в вашем случае сравниваются ссылки на экземпляры классов. Нужно написать экстеншн, в котором переопределить операцию сравнения и сравнивать координаты (обязательно с учетом Float.ulpOfOne)