2015-12-18 3 views
0

Я работаю над приложением, и я использовал пользовательскую ячейку tableview для отправки данных. Когда мое приложение запускается, оно дает это предупреждение.Как избежать фоновой темы в 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 

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

- (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 
}); 

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

+0

так, где вы идете в фоновый поток? это было бы более интересно увидеть, потому что ваш текущий шутпер фактически дает нулевой ключ, но только скрытое подозрение об этом происходит в вашем «AirportTableViewCell», который вы изящно не делили с нами. – holex

ответ

0

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

+0

yes Я использовал '[tableView reloadData]', какое место лучше всего использовать. – Jobs

Смежные вопросы