我测量信标并在我的TableView中显示它们。我需要检测我的应用何时检测到新的信标。我尝试这样做,但出了点问题
Customer BalancePeriod38 BalancePeriod39 BalancePeriod40
1 10 9 10
2 15 . 20
答案 0 :(得分:0)
通过两个阵列迭代不会轻易工作,因为如果你同时看到两个信标,你就会错误地认为它们是"新的"因为一个与另一个不一样。
我通常使用Set来执行此操作:
var detectedBeacons: Set<String>
func locationManager(_ manager: CLLocationManager, didRangeBeacons beacons: [CLBeacon], in region: CLBeaconRegion) {
for beacon in beacons {
let key = "\(beacon.proximityUUID) \(beacon.major) \(beacon.minor)"
if detectedBeacons.contains(key) {
print("Old Beacon")
}
else {
print("New Beacon")
detectedBeacons.insert(key)
}
}
}