В Stack Overflow я видел ответ, чтобы найти ближайший маяк ( Swift найти ближайший маяк по rssi ).
Здесь я попытался с точностью найти ближайший в Objective-C. Мое приложение находит маяк каждую секунду, что точность времени не работает, находя самый близкий должным образом. По его словам, RSSI будет обновляться каждые 1 сек. Поэтому я хотел бы отфильтровать ближайший маяк с помощью RSSI. Я преобразовал ваш код Swift в Objective-C, но он не работает нормально.
Вот код Swift:
//Swift code
var closestBeacon: CLBeacon? = nil
for beacon in beacons {
if beacon.rssi < 0 && closestBeacon != nil && beacon.rssi > closestBeacon!.rssi {
closestBeacon = beacon as? CLBeacon
}
}
Вот код Objective-C, который я преобразовал, не работает:
CLBeacon *closest = nil;
for (CLBeacon *beacon in beacons) {
if (beacon.rssi < 0 && closest != nil && beacon.rssi > closest.rssi) {
closest = beacon;
}
}
Вот, пожалуйста, сделай меня идеальным, где я делаю неправильно.