我有一个表视图,它被配置为将Segue推送到另一个视图。该表分为 2 个部分。当我推送到下一个视图时,我都传输了数据,并且这些部分有问题。
假设我的第 0 节有 2 行,第 1 节有 1 行。如何检查第 1 部分的行?
在故事宝贝和准备 segue 之前,我做了
row = indexPath.row;
if (section == 0)
{
if (row == 0)
data = @"Zero";
if (row == 1)
data = @"One";
}
if (section == 1)
{
if (row == 0)
data = @"Two";
if (row == 1)
data = @"Three";
}
现在它不起作用。当我单击第 0 部分中的 1 行时,它将"零"而不是"二"放入数据中为什么?我怎样才能有效地区分第 0 节和第 1 节?
伙计,section = indexpath.section
在哪里?这是一个准备示例;
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
NSIndexPath *indexpath = [self.tableView indexPathForCell:sender];
// indexpath.section
// indexpath.row
}
- 您应该将单元格中显示的数据设置为
cellForRowAtIndexPath:
. - 您只需使用推送 Segue 将 IB 中的原型单元链接到下一个视图控制器即可。
- 然后,使用
prepareForSegue
将所需的数据传递给新的视图控制器。
正确的section
和row
参数将位于indexPath
变量中。