Недавно я опубликовал ошибку в MonoMac, при которой окно внезапно исчезало после нажатия на кнопку 20 раз или около того. Оказалось, что эта ошибка не влияет на Xamarin.Mac, поэтому я переключил свой проект на нее.
Но теперь я вижу практически ту же ошибку в другом контексте: после ввода нескольких строк текста в NSTextField окно исчезает точно так же. Ни ошибки, ни исключения; он просто исчезает. Пуф, ушел!
Я воспроизвел это в тривиальном проекте: вы можете убедиться в этом сами, создав новый пустой проект Xamarin.Mac, добавив этот код в новом файле и работает. Затем немного разомните клавиатуру. Через 5 или 6 строк окно исчезнет.
(Обратите внимание, что меню приложения продолжают работать, записывая сообщения журнала и выполняя мой код, когда я выбираю команды меню. Таким образом, это не выглядит так, как будто само приложение разбилось.)
Любопытно, что это, похоже, происходит только тогда, когда поле находится внутри подкласса NSView, где IsFlipped был переопределен. Но не имеет значения, возвращает ли IsFlipped true или false - если метод вообще существует, ошибка возникает; если закомментировать, ошибка не возникает.
Итак: кто-нибудь еще сталкивался с такой ошибкой в Xamarin.Mac? Возможно, в других контекстах это даст нам больше ключей к разгадке первопричины? Есть какие-нибудь советы по отладке для новичка в Xamarin?
(Я знаю, что могу обойти это в некоторых проектах, избегая IsFlipped, но я боюсь, что он просто всплывет, чтобы укусить меня каким-то другим способом.)