MonoTouch中的事件变为null

时间:2010-12-12 00:16:12

标签: c# .net iphone xamarin.ios

Hi Monotouch用户, 我有这种奇怪的情况,我在自定义UIView中声明了一个自定义事件,如下所示:

public delegate void SelectionChangedHandler(SelectableView selectedView, bool selected);
public event SelectionChangedHandler SelectionChanged;

然后我在viewcontroller的initialize方法中分配给这个处理程序,如:

SelectableView s;
...
SelectableView.SelectionChanged += HandleSelectionChanged;

我检查并确保所有必需的对象仍然存在于内存中并且没有被垃圾收集。

我发现事件在赋值和绘图之间的某个时间变为null。 以前有人遇到过这个问题吗?或者我在使用MonoTouch中的事件时做了一些明显错误的事情?

修改 一些附加信息 - UIView是从xib文件加载的。我刚尝试使用未从xib加载的UIView,一切正常:|我有点傻眼了。

编辑2: 更多信息:从xib加载的UIView上设置的所有属性似乎也变为null! 这是我用来从xib加载UIView的代码:

var v = new SelectableView(NSBundle.MainBundle.LoadNib("SelectableView", this, null).ValueAt(0));

然后我在v:

上设置了一个属性
v.SomeProperty = s;

通过渲染时间SomeProperty为空。

干杯 那仁

1 个答案:

答案 0 :(得分:1)