0

当您点击该行辅助按钮时,我试图传递表格行的标签,因为它与 plist 中数组的键匹配,因此下一页知道要从哪个数组加载设置。

这是我目前正在使用的代码performSegueWithIdentifier

NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
SettingsViewController *destViewController = segue.destinationViewController;
destViewController.nameViewer = [viewerKeys objectAtIndex:indexPath.row];

不幸的是,每次它选择第一行时......我知道,因为使用NSLog它总是给出相同的输出(第一行的名称)。有任何想法吗?

干杯,

克里斯

4

2 回答 2

1

问题是,当您点击单元格的辅助按钮时,单元格本身不会被选中(这是正常行为,因为辅助按钮会触发不同的委托方法),所以您总是0.

但是,您可以做的是在tableView:accessoryButtonTappedForRowWithIndexPath:委托方法中使用选定的索引设置一个 ivar,并将该 ivar 传递给您的目标控制器。我希望这是有道理的......

于 2013-02-14T13:38:28.557 回答
1

使用-prepareForSegue:sender:代替-prepareForSegue:并使用以下内容:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

    NSIndexPath *indexPath = [[[segue sourceViewController] tableView] indexPathForCell:sender];

    SettingsViewController *destViewController = segue.destinationViewController;

    destViewController.nameViewer = [viewerKeys objectAtIndex:indexPath.row];
}
于 2013-02-14T13:46:49.963 回答