2017-01-02 1 views
0

Итак, используя приведенный ниже код, я перечислил CollectionViewCell indexPath в новый DetailViewController. теперь каждый `DetailViewController отображает то, что содержится в массиве выбранного индекса.Переход между указательными контурами в DetailViewController? Swift

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 
} 

Теперь то, что мне нужно сделать, чтобы переход между этим indexPaths из внутри DetailViewController? Например, «перейти к следующему» или «перейти к предыдущему» или «перейти на кнопку [выбранный путь]»?

Я чувствую, что может быть простой ответ на этот вопрос, который я не получаю.

ответ

0

Простое решение: вы можете реализовать singleton, менеджер, который будет отвечать за это. например

class AnimalManager: NSObject { 

    static let shared = AnimalManager() 

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

    ..... 
} 

Теперь вы можете реализовать такие методы, как: текущее животное, следующее животное, revious и т.д.

+0

Не могли бы вы уточнить, пожалуйста? Я не могу найти никакой документации по «синглетному менеджеру» – user4938361

+0

извините, моя ошибка должна быть синглтон, а не синглет. Синглтон - шаблон дизайна – Axel

Смежные вопросы