添加/删除

时间:2018-01-31 19:22:47

标签: uitableview xamarin.ios

我有一个可以关闭和打开的蓝牙设备列表。当它们出现时,它们出现在tableview中并在关闭时被删除。我的蓝牙管理器对象包含设备列表,每当更新列表时,都会触发通知以更新tableview。添加似乎不是一个问题,那些立即出现,但当我从列表中删除一些东西时,它似乎没有从tableview中删除。

此预期行为或更新tableview是否不适用于此方法?

private void DeviceCollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
{
    updateDevices();
}

private void updateDevices()
{
    Console.WriteLine("Update in iOS");
    deviceTable.Source = new DeviceTableSource(bleHandler.getModelList().ToList());
    deviceTable.ReloadData();
}

我知道重新加载不是最佳的,因为它重绘了整个表,但列表仅限于6个设备,不应经常更改。

1 个答案:

答案 0 :(得分:0)

这是我如何能够正确删除它。它归结为一个线程问题。

InvokeOnMainThread(() => {
    deviceTable.ReloadData();
});