Сбои приложения, когда NavigationController выталкивается!

Так как Microsoft отправляет изменения в стандарте ISO C#, прежде чем они сделают их, в Моно теории не должен запаздывать.NET. В действительности большой старый бюджет MS добирается до финишной черты сначала.

7
задан Imran Raheem 5 October 2009 в 05:46
поделиться

1 ответ

Хорошо, думаю, я нашел решение. Разделение его на случай, если кто-то еще попадет в ту же ситуацию:

EXC_BAD_ACCESS (SIGSEGV) KERN_INVALID_ADDRESS означает, что виртуальный адрес, на который вы ссылаетесь, отсутствует в таблицах страниц или у вас нет доступа. Это виртуальный адрес, к которому у вас нет доступа. Для вашего примера адресного адреса 0x67696c69 вполне вероятно, что это не указатель, который рассматривался как указатель; или ваша структура данных, содержащая указатель, была освобождена и перезаписана другими данными.

И затем я вижу WebCore в трассировке стека в журнале (WebCore является компонентом в iPhone WebKit - http: // en.wikipedia.org/wiki/WebKit#Components)

Итак, что я делал здесь, отображая веб-сайт в UIWebView и прежде чем он мог полностью загрузиться, возвращаясь к предыдущим контроллерам представления, и он АВАРИИ .

Я обнаружил, что UIWebView должен очистить делегат перед его выпуском; в противном случае, если веб-запрос завершится после того, как вы освободите UIWebView, он попытается позвонить делегату и вызовет сбой приложения.

РЕШЕНИЕ: Я добавил следующий код перед запуском контроллера представления, и теперь он работает:)

if (webView.loading)
    [webView stopLoading];
webView.delegate = nil;
15
ответ дан 6 December 2019 в 14:06
поделиться