Ios 在DetailViewController中的索引路径之间转换?敏捷的

Ios 在DetailViewController中的索引路径之间转换?敏捷的,ios,arrays,swift,indexing,segue,Ios,Arrays,Swift,Indexing,Segue,因此,使用下面的代码,我将我的CollectionViewCellindexPath分为新的DetailViewController。现在,每个`DetailViewController显示所选索引的数组中包含的内容 func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { let animal: Animal! let anims: [Anim

因此,使用下面的代码,我将我的
CollectionViewCell
indexPath分为新的
DetailViewController
。现在,每个`DetailViewController显示所选索引的数组中包含的内容

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
内部在这些索引路径之间进行转换?例如“转到下一个”或“转到上一个”或“转到[所选路径]”按钮


我觉得可能有一个简单的答案我没有得到。

简单的解决方案:您可以实现singleton,管理者将负责这一点。e、 g

class AnimalManager: NSObject {

    static let shared = AnimalManager()

    private var animals = [Animal]()
    private var currentIndex: Int?

    .....
}

现在您可以实现诸如:当前动物、下一个动物、上一个动物等方法。

请详细说明一下好吗?我找不到任何关于“singlet manager”的文档。对不起,我错了,应该是singlet,而不是singlet。Singleton是一种设计模式