UIWebView как часть UITableViewCell: приводит к падению из-за блокировки потока - PullRequest
2 голосов
/ 23 июня 2010

Я пытаюсь добавить UIWebView как подпредставление UITableViewCell , чтобы отобразить некоторые данные, отформатированные с помощью MIMEType 'application / xhtml + xml'.Даже простая инициализация UIWebView, как описано в следующем коде, приводит к сбою приложения!

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {    
NSLog(@"cellForRowAtIndexPath: '%d' in section '%d'", indexPath.section, indexPath.row);

static NSString *CellIdentifier = @"Cell";

UITableViewCell *cell = (UITableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}

UIWebView * webView = [[UIWebView alloc]initWithFrame:cell.frame];

return cell;

}

Я получаю это сообщение:

bool_WebTryThreadLock (bool), 0x10a7f50: Пытался получить веб-блокировку из потока, отличного от основного или веб-потока.Это может быть результатом обращения к UIKit из вторичного потока.Крах сейчас ... <</p>

Не могу понять, где я делаю не так!

Спасибо за помощь

Джеральд

1 Ответ

2 голосов
/ 23 июня 2010

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

Кроме того, cell.frame, скорее всего, не то, что вы хотите здесь. Попробуйте установить фиксированный размер с помощью CGRectMake(...). И не забудьте добавить это. : -)

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