iPhone:iOS 6和5.1之间cellForRowAtIndexPath行为的令人费解的差异

iPhone:iOS 6和5.1之间cellForRowAtIndexPath行为的令人费解的差异,ios,uitableview,ios6,ios5.1,cell-formatting,Ios,Uitableview,Ios6,Ios5.1,Cell Formatting,我希望UITableView中的所有单元格始终显示删除附件和披露指示器: (原因是我没有/不想要编辑按钮) 这在5.1中适用于以下代码: - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { //the usual code [self.tableView setEditing:YES animated:YES];

我希望UITableView中的所有单元格始终显示删除附件和披露指示器:

(原因是我没有/不想要编辑按钮)

这在5.1中适用于以下代码:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath   *)indexPath
{
  //the usual code
      [self.tableView setEditing:YES animated:YES];
      cell.editingAccessoryType = UITableViewCellAccessoryDisclosureIndicator;

      return cell;
}
这在iOS 6.0中不会产生相同的行为。当我添加一行时,该行显示时没有删除附件。有趣的是,如果我随后选择单元格(运行didSelectRowAtIndexPath),我可以在详细信息视图中按“取消”,然后删除附件才会显示在我的表格单元格中


有人能解释这种差异吗?我在苹果的文档中找不到任何关于这方面的信息(如果你能给我指点什么,我将不胜感激)。也许我不应该把代码放在这个方法的第一位?谢谢。

您的问题是由于在
cellForRowAtIndexPath:
的表视图中调用
设置编辑:动画:
引起的。您应该只在
viewDidLoad
中调用一次,您的问题是由于在
cellForRowAtIndexPath:
的表视图中调用
setEditing:animated:
引起的。您应该只在
viewDidLoad

中调用一次,为什么要在
cellforrowatinexpath:
中将表置于编辑模式?您应该在
viewDidLoad
@rmaddy中执行此操作一次。此操作解决了此问题,非常感谢。我想我愚蠢地遵循了一个糟糕的指导。如果你把你的评论放在一个答案中,我会接受。你为什么要在
cellforrowatinexpath:
中将表格置于编辑模式?您应该在
viewDidLoad
@rmaddy中执行此操作一次。此操作解决了此问题,非常感谢。我想我愚蠢地遵循了一个糟糕的指导。如果你把你的意见写进回答中,我会接受的。