MonoTouch Debugging не работает правильно - PullRequest
1 голос
/ 05 октября 2010

Я работал над другой частью моего приложения и, наконец, вернулся к работе над TableView, которую я «закончил» раньше. Когда вы щелкаете строку в TableView, она должна загрузить новое представление. Я был почти уверен, что это сработало, однако теперь, когда я нажимаю на строку, приложение просто зависает с выделенной строкой.

Я ждал 10 минут, и ничего не происходит, просто замерз. Нет ошибок или что-то еще.

Итак, я попытался установить некоторые точки останова в TableView, и при запуске приложения в разделе «Вывод приложения» я вижу «Не удалось вставить ожидающую точку останова в XXXXX.cs»

Понятия не имею, что здесь происходит или как это исправить. Помощь

EDIT

Может ли это быть как-то связано с тем, что новое представление запускается из другого потока? Если да, как вы отлаживаете в отдельных потоках?

КОНЕЦ РЕДАКТИРОВАНИЯ

1 Ответ

1 голос
/ 05 октября 2010

Похоже, ваш код вообще не выполняется. Во время отладки компилятор знает, что ваш код никогда не будет вызван, и показывает вам это сообщение. Попробуйте установить точку останова в другом методе и посмотрите, сработает ли это.

Кроме того, вы можете вытолкнуть новое представление из потока, отличного от основного интерфейса, что может привести к тому, что оно не будет отображаться. В общем, всякий раз, когда вы обрабатываете пользовательский ввод и обновляете представление, вы должны делать это внутри основного потока. Например, внутри вашего TableViewController, сделайте это:

InvokeOnMainThread({()=>{
     NavigationController.PushViewController(new UIViewController(), true);
});

Надеюсь, это поможет.

...