Я создаю экземпляр UIAlertController и назначаю UIDatePicker одному из его UITextField (ов) в качестве входного представления. Я также назначил сборщику обработчик события ValueChanged. UIDatePicker правильно показывает, когда упомянутый UITextField получает фокус, но когда я меняю значение даты, приложение вылетает.
Пожалуйста, рассмотрите приведенный ниже код.
var d = UIAlertController.Create( "Confirm", "Fill below with the required info.", UIAlertControllerStyle.Alert);
d.AddAction(UIAlertAction.Create("OK", UIAlertActionStyle.Default, ((UIAlertAction obj) => SubmitAction(obj, d))));
d.AddAction(UIAlertAction.Create("Cancel", UIAlertActionStyle.Cancel, null));
d.AddTextField((delegate(UITextField obj) {
UIDatePicker picker = new UIDatePicker ();
picker.ValueChanged += (object sender, EventArgs e) => { obj.Text = picker.Date.Description; };
obj.InputView = picker;
}));
PresentViewController(d, true, null);
Опять же, сборщик показывает нормально. Приложение аварийно завершает работу при событии ValueChanged даже с ПУСТЫМ обработчиком picker.ValueChanged += (object sender, EventArgs e) => {};
.
Никаких сбоев без добавления обработчика событий!
Этот код находится в обработчике события TouchUpInside кнопки.
Где я делаю неправильно?