【发布时间】:2020-11-08 16:35:24
【问题描述】:
tabbar1 - 我正在使用核心蓝牙连接到一些外围设备。连接后,我会更新一个数组。
func populateFoundBTArray(peripheral: CBPeripheral, service:CBService) {
discoveredBTDevices.append(BTPeripheral.init(
id: discoveredBTDevices.count,
name: peripheral.name!,
uuid: peripheral.identifier,
desc: service.uuid.description
connected: peripheral.state == .connected ? true : false ))
}
在 TabBar2 - 我有一些原型(自定义)单元格通过 XIB 文件通过静态单元格和动态单元格的组合连接起来(类似于此解决方案 - https://stackoverflow.com/a/49157374/14414215)
在 TabBar2 内 - 我有 tableView.reloadData() 调用,这很棒,每当我切换到这个 tabbar2 时,tableview 都会更新。 (但我必须亲自前往 tabbar1 --> tabbar2 才能触发此更新)
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(true)
tableView.reloadData()
}
我的目标是希望能够在数组discoveredBTDevices 更新时重新加载表格视图。
我试过
let pop = tabbar2()
pop.tableView.reloadData() // also tried reloadSections(1 but didn't work
以及我在 SO 上找到的更多答案,但没有一个有效。 (我没有尝试任何转场/通知,因为目前我只是将发现的BTDevices 作为全局变量来简化我的初始测试)
【问题讨论】:
标签: swift uitableview core-bluetooth