Как избежать фоновой ветки в iOS 9

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

This application is modifying the autolayout engine from a background thread, which can lead to engine corruption and weird crashes.  This will cause an exception in a future release

Я добавил несколько точек останова и посмотрел, когда это произойдет. в этот момент оно наступает (время, когда я звоню в ячейку обычного представления таблицы)

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{

    AirportTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"identifier"];//in here it comes

    ac = [detailArray objectAtIndex:indexPath.row];
    cell.airportname.text = ac.airPort;


    return cell;

}

Я пробовал с этим

dispatch_async(dispatch_get_main_queue(), ^{
    // code here
});

но я не знаю, как правильно его использовать. Есть ли способ избежать этого. Надеюсь, что ваши ответы. Спасибо

1 ответ

cellForRowAtIndexPath: не должен вызываться из фонового потока. Вы, вероятно, вызываете reloadData: или что-то похожее из фонового потока, и это очень вредно для здоровья.

Другие вопросы по тегам