Привет MonoTouch, У меня есть эта странная ситуация, когда у меня есть пользовательское событие, объявленное в пользовательской UIView как так:события становится нулевым в MonoTouch
public delegate void SelectionChangedHandler(SelectableView selectedView, bool selected);
public event SelectionChangedHandler SelectionChanged;
Я тогда присваиваемый этот обработчик в методе инициализации из ViewController так:
SelectableView s;
...
SelectableView.SelectionChanged += HandleSelectionChanged;
Я проверил и заверил, что все необходимые объекты все еще существуют в памяти и не было мусора.
Я нахожу, что событие становится нулевым между назначением и чертежом. Кто-нибудь сталкивался с этим вопросом раньше? Или я делаю что-то явно неправильное в моем использовании событий в MonoTouch?
EDIT: Дополнительная информация - UIView загружается из файла xib. Я просто попытался с UIView, не загруженным из xib, и все работает нормально: | Я немного ошарашен.
EDIT 2: Даже больше информации: Все свойства, установленные на UIView загруженным из XIb по всей видимости, станет нулевым, как хорошо! Вот код, я использую, чтобы загрузить UIView из XIb:
var v = new SelectableView(NSBundle.MainBundle.LoadNib("SelectableView", this, null).ValueAt(0));
Я тогда установить свойство на V:
v.SomeProperty = s;
По времени визуализации SomeProperty равна нулю.
Приветствия Naren
Вы настраиваете/получаете доступ к собственности из разных потоков? – kwcto