我正在尝试使用tableview来帮助在用户设置屏幕上查看视图。
在正常模式下,会向用户显示一个设置选项列表,这些设置选项在UITableView中组织,每个设置一行。
如果用户输入特定的错误状态,我想显示一个附加选项。
由于我的选项列表是静态的,我已将所有内容放在故事板中,包括我只想在出现错误情况时显示的选项。在viewDidLoad
方法中,我想删除该行,但如果错误条件为真,则将其保存以供将来插入。这可能吗?
这样的事情会起作用吗?
- (void)viewDidLoad
{
[super viewDidLoad];
MainNavigationViewController *parent = (MainNavigationViewController *) self.parentViewController;
// if not in error mode, delete the error mode row from the presenting table
if (!parent.dataModel.isErrorMode) {
if (self.tableView != nil) {
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:kErrorModeRow inSection:0];
self.errorModeTableViewCell = [self.tableView cellForRowAtIndexPath:indexPath];
[self.tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationNone];
}
self.numRows = kNumRowsWithoutErrorMode;
}
else {
self.numRows = kNumRowsWithErrorMode;
}
}
注意:
tableview数据委托方法将返回 numRows
:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
errorModeTableViewCell
通过其属性定义保留。我正在使用ARC。
PS。我是iOS开发的新手,但不是OO或UI编程。