我正在使用Xamarin.iOS和MvvmCross(v5.6.3)进行项目,并且在一个视图控制器上具有非常典型的UISlider,其值绑定到float其视图模型的属性。set.Bind(MySlider).For(x => x.Value).To(vm => vm.FloatProperty).TwoWay();当视图卸载并尝试处理现有的绑定时(例如,导航到另一个视图模型时),我收到以下未处理的异常,带有SIGABRT绑定工作正常,只有在以下情况下才会发生 我尝试导航到另一个视图模型 视图正在卸载。我想念什么吗?还是这可能是MvvmCross上的错误?
2 回答
FFIVE
TA贡献1797条经验 获得超6个赞
您正在调用只能从UI线程调用的UIKit方法。
尝试在UIThread中调用导航方法。
this.InvokeOnMainThread(async () =>
{
//navigate
});
如果上述方法不起作用,则可以尝试关闭UI线程检查。
var previous = UIApplication.CheckForIllegalCrossThreadCalls;
UIApplication.CheckForIllegalCrossThreadCalls = false;
//navigate
UIApplication.CheckForIllegalCrossThreadCalls = previous;
- 2 回答
- 0 关注
- 128 浏览
添加回答
举报
0/150
提交
取消