我的 iPhone 应用程序的UITableView
一部分以分组格式显示三个静态部分。然而,在某些情况下(基于用户输入),当视图控制器显示表格时,这些部分中的最后一个不出现是最合适的。
在viewDidLoad
控制器的方法中,我添加了以下有条件执行的代码行:
if ([self.formula containsElementWithoutStableIsotopes]) {
NSLog(@"Deleting section 2 ...");
NSUInteger sectionToDelete = 2;
[self.tableView deleteSections:[NSIndexSet indexSetWithIndex:sectionToDelete]
withRowAnimation:UITableViewRowAnimationAutomatic];
}
“删除第 2 节 ...”记录到控制台,所以我知道这段代码正在执行,但表格似乎没有受到影响:所有三个部分都照常显示。
在理想情况下,我希望在表格视图显示之前删除第 2 部分,但我可以忍受它在出现时被删除。但是,如果我将上面的代码放在viewDidAppear
方法中,程序会引发 an,NSInternalInconsistencyException
因为删除前后的节数不匹配。
我真的很感谢你在这个话题上的帮助。