Мое приложение падает на Iphone SDK 3.2 - PullRequest
2 голосов
/ 24 мая 2010

Мое приложение работало нормально на iPhone SDK 3.1. Однако, когда я пытаюсь запустить его в симуляторе 3.2, я получаю следующую ошибку, и она вылетает:

bool _WebTryThreadLock (bool), 0x5148280: Пытался получить веб-блокировку из потока, отличного от основного или веб-потока. Это может быть результатом обращения к UIKit из вторичного потока. Грохнуть сейчас ... Программа получила сигнал: «EXC_BAD_ACCESS».

Когда я отлаживаю его, это приводит меня к следующему кодовому правилу:

- (void)LoginViewToCheckView:(id)sender {
CheckViewController *tempTestController = [[CheckViewController alloc] initWithStyle:UITableViewStyleGrouped];
[tempTestController setDelegate:self];
[self setCheckViewController: tempTestController];
[tempTestController release];

[navigationController pushViewController:checkViewController animated:YES];}

Другая вещь, о которой стоит упомянуть, - возможно, я вызываю эту функцию из отдельного потока.

Есть идеи, что может быть не так?

1 Ответ

2 голосов
/ 24 мая 2010

Именно так: вы обращаетесь к объектам UIKit не из основного потока. Вы не можете выдвинуть контроллер представления в фоновом потоке.

Вы можете использовать -[performSelectorOnMainThread:withObject:waitUntilDone:] NSObject для выполнения этого метода в главном потоке.

А, т. Ч. методы начинаются со строчной буквы в Objective-C.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...