如何在iOS 9中避免后台线程

时间:2015-12-18 11:08:01

标签: ios9 custom-cell background-thread

我正在使用app,我使用自定义tableview单元来显示数据。当我的应用运行时,它会发出此警告。

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

1 个答案:

答案 0 :(得分:0)

cellForRowAtIndexPath:不应该从后台线程调用。您可能正在调用reloadData:或类似于后台线程的东西,而且非常运行状况不佳。