在DetailViewController中的索引路径之间转换?迅速

时间:2017-01-02 23:00:34

标签: ios arrays swift indexing segue

因此,使用下面的代码,我已将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?比如"转到下一个"或者"转到上一个"或者"转到[所选路径]"按钮?

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

1 个答案:

答案 0 :(得分:0)

简单的解决方案:您可以实施单身人士,负责此事的经理。例如

class AnimalManager: NSObject {

    static let shared = AnimalManager()

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

    .....
}

现在你可以实现这样的方法:当前动物,下一个动物,revious等。