因此,使用下面的代码,我已将CollectionViewCell
indexPath引入新的DetailViewController
。现在每个`DetailViewController都会显示所选indexPath数组中包含的内容。
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
let animal: Animal!
let anims: [Animal] = dataSource.anims
animal = anims.filter{ $0.isDefault }[indexPath.row]
DispatchQueue.main.async {
self.performSegue(withIdentifier: "DetailVC", sender: animal)
}
}
这意味着新的DetailVC
将能够从与所选indexPath.row
对应的数组中提取数据。
现在问题就在这里。在我DetailVC
之后,我想创建一个按钮,让我将显示的数据切换到上一个或下一个indexPath.row
。为了更好地解释它,下面是一些伪代码,它解释了我想要做的事情
@IBAction func nextIndex(_ sender: Any) {
self.view.indexPath.row = self.view.indexPath.row +1
or
self.datasource = next datasource index
}
现在我需要做些什么才能在DetailViewController
内部转换这些indexPaths?比如"转到下一个"或者"转到上一个"或者"转到[所选路径]"按钮?
我觉得可能有一个简单的答案,我没有得到。
答案 0 :(得分:0)
简单的解决方案:您可以实施单身人士,负责此事的经理。例如
class AnimalManager: NSObject {
static let shared = AnimalManager()
private var animals = [Animal]()
private var currentIndex: Int?
.....
}
现在你可以实现这样的方法:当前动物,下一个动物,revious等。