如何“重置”下一个 indexPath.row 成为当前 indexPath.row?
Posted
技术标签:
【中文标题】如何“重置”下一个 indexPath.row 成为当前 indexPath.row?【英文标题】:How to "reset" next indexPath.row to become current indexPath.row? 【发布时间】:2015-02-01 07:17:55 【问题描述】: -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
self.selectedTrack = self.SPTrackList[indexPath.row];
self.selectedTrackRow = indexPath.row;
self.nextTrack = self.SPTrackList[indexPath.row +1];
[self playTrack:self.selectedTrack];
嗨——我怎样才能“重置” self.nextTrack 成为 self.selectedTrack?我试过 self.nextTrack = self.selectedTrack,但这只会工作一次。我猜我需要遍历——如果这是正确的话——并将 self.selectedTrack 和 self.nextTrack 的 indexPath 向前移动?
- (IBAction)nextPressd:(id)sender
[self playTrack:self.nextTrack];
//self.nextTrack now be new self.selectedTrack via indexPath.row??
谢谢!
【问题讨论】:
您在寻找self.nextTrack = self.selectedTrack;
吗?
抱歉,不够清楚。我试过了。不是我要找的。如果我这样做了,IBAction nextPressed 将播放曲目 B,但随后会恢复到曲目 A。
你的问题不清楚,你能解释一下你的预期功能是什么,现在发生了什么?
抱歉,我只是想播放阵列中的下一首曲目。现在,当点击 tableview 上的单元格时,它将初始播放 self.selectedTrack。按下下一个时,它会播放下一首曲目....但仅此而已。它不会去其他任何地方。 :/ 对不起。我是新手,仍在学习如何表达我的问题
所以你需要在播放完曲目后播放下一首曲目对吗?或者当用户再次点击下一个时您需要播放下一首曲目?
【参考方案1】:
如果您需要播放阵列中的下一首曲目,则需要跟踪当前播放曲目和该索引。你可以这样做:
- (IBAction)nextPressd:(id)sender
self.selectedTrackRow += 1;
self.nextTrack = self.SPTrackList[self.selectedTrackRow];
[self playTrack:self.nextTrack];
【讨论】:
天啊!太感谢了!!我在这上面花了 4 个小时。 :(以上是关于如何“重置”下一个 indexPath.row 成为当前 indexPath.row?的主要内容,如果未能解决你的问题,请参考以下文章
当我按下按钮推送到另一个 ViewController 时,如何知道我的按钮在哪个 indexPath.row 中?
如何在特定 indexpath.row 上显示自定义 tableviewcell
Swift 4.2 - 如何从 tableView 中的“didSelectRowAtIndexPath”方法调用“indexPath.row”到另一个类?
如何获取当前正在显示的tableView的indexPath.row?