在准备seque时,在事务内调用的CATransaction同步

时间:2013-11-05 00:32:22

标签: ios segue

我有UITableViewController,当我点击一个单元格时,我想用UITableViewController作为模态视图显示UINavigationController。

我有这个功能来准备seque:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([segue.identifier isEqualToString:@"ShowTitles"]) {
        UINavigationController *navigationController = (UINavigationController *)segue.destinationViewController;

        if (navigationController) {
            DataListViewController *dataListController = (DataListViewController *)[navigationController topViewController];

            if (dataListController) {
                dataListController.delegate = self;
                dataListController.viewTitle = NSLocalizedString(@"Titles", nil);
                dataListController.dataArray = [NSMutableArray arrayWithArray:self.titles];
            }
        }
    }
}

但是当我点击单元格时,我收到此错误:在事务中调用CATransaction同步。

什么可能导致错误?

编辑: 它发生在cellForRowAtIndexPath函数的这个地方:

[tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];

1 个答案:

答案 0 :(得分:2)

我没注意到函数dequeueReusableCellWithIdentifier:forIndexPath:我必须注册这个类,所以我在viewDidLoad函数中做到了:

[self.tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:CellIdentifier];