首页 > 解决方案 > Swift 4:按 RSSI 值对 UITableViewCells 进行排序

问题描述

我正在搜索 BLE 设备,并希望在顶部显示具有最佳信号强度的设备。

有没有办法按 RSSI 值对 UITableViewCells 进行排序,所以信号强度最好的(例如“-39”)显示在顶部?

我已经寻找解决方案并尝试了几件事,这是我的想法,但它不起作用:

func startScan() {

    peripherialNames = [ ]

    RSSIs = [ ]

    RSSIs.sort(by: { $0.intValue < $1.intValue})

    connectTableView.reloadData()

    centralManager?.stopScan()

    centralManager?.scanForPeripherals(withServices: nil, options: nil)

}

我尝试对 RSSI 数组进行排序,但这不会改变应用程序中的排序或缺少排序。

我尝试使用 .intValue,因为 RSSI 是 NSNumbers。

正在运行的应用程序的图片,就像现在一样: 找到 BLE 设备及其 RSSI 值

谢谢!

-托马斯

标签: iosswiftbluetoothbluetooth-lowenergyrssi

解决方案


推荐阅读