私は UITableViewController を持っています。1 つのセルをタップすると、UITableViewController を使用して UINavigationController をモーダル ビューとして表示します。
私はシークを準備するためにこの機能を持っています:
- (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 synchronize called within transaction.
そのエラーの原因は何ですか?
編集: cellForRowAtIndexPath 関数のこの場所で発生します:
[tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];