我将我的xamarin ios项目更新为统一API(64位支持)。一切都按预期工作。该项目建立并运作。
但我发现了一个问题。绑定到UILabel.Text属性将不再起作用。所有其他绑定仍然有效(例如,对于UIButton.Hidden属性)。这是我的代码:
// Create bindings
var set = this.CreateBindingSet<MyView, MyViewModel>();
set.Bind(labelitem) // not working
.For(t => t.Text)
.To(v => v.MyStringValue);
set.Bind(buttonitem) // working
.For(b => b.Hidden)
.To(v => v.MyboolValue)
.WithConversion(new InverseBoolValueConverter());
set.Apply();
我正在使用MvvmCross进行绑定。 Bevore统一更新一切正常。
首先,我尝试将链接器选项更改为“不链接”。同样的问题。
任何人都可以解释一下,发生了什么?感谢
修改
我在调试项目时在输出中找到了一个信息:
弱目标在MvxUILabelTextTargetBinding中为空 - 跳过集
答案 0 :(得分:3)
有些人看到了一些问题,其他人则没有,新的GC在最新的Xamarin“稳定”版本中(可能是VS和XS之间的差异 - 目前尚不清楚......)。您可以在https://github.com/MvvmCross/MvvmCross/issues/902(Migrating to Unified API and new reference counting上的某些背景)
上阅读这些内容试图在http://slodge.blogspot.co.uk/2015/02/351-alpha-release.html中解决这些问题 - 请尝试使用alpha包来查看它们是否有用。
如果没有,那么现在唯一接受的解决方法是将您的UILabel
宣传到视图中的私有变量。