Iphone tableView设置编辑导致cellForRow不被过早调用

Iphone tableView设置编辑导致cellForRow不被过早调用,iphone,uitableview,orientation,Iphone,Uitableview,Orientation,我对从NIB加载的视图控制器有问题。在这个笔尖中,我有两个视图,一个是风景,一个是肖像。当WillAnimateFrotation发生时,我设置 // willAnimateForRotation.. if (isLandscape) { self.view = self.viewLandscape; } else { self.view = self.portraitView; } 开始时,我将两个表都设置为编辑模式: // viewDidLoad [self.tableVi

我对从NIB加载的视图控制器有问题。在这个笔尖中,我有两个视图,一个是风景,一个是肖像。当WillAnimateFrotation发生时,我设置

// willAnimateForRotation..
if (isLandscape) {
    self.view = self.viewLandscape;
}
else {
    self.view = self.portraitView;
}
开始时,我将两个表都设置为编辑模式:

// viewDidLoad
[self.tableViewPortrait setEditing:YES animated:NO];
[self.tableViewLandscape setEditing:YES animated:NO]; // *
//* 我很确定这一行导致在此时在tableViewLandscape上调用cellForRow,而不是在我设置self.tableView=self.tableViewLandscape时调用cellForRow

这只是第一次发生,如果我执行两次方向更改,它将正确地将项目加载到tableView中

我不想在方向更改中执行[self.tableView reloadData]。。这是多余的


有人能给我找到一个更优雅的方法来解决这个问题吗?

好的,我能想到的最好办法是:

//willAnimateToRotation..
if (!self.tableViewLandscape.editing)
{
    [self.tableViewLandscape setEditing:YES animated:NO];
}
这是一个廉价的黑客,但想不出更正确的解决方案