2017-01-07 7 views
0

Эй, ребята, у меня есть ситуация, в которой я не могу оборачивать голову. Как бы я вычислил indexPath из Segued View Controller? Когда я перехожу из своего CollectionViewCell, я получаю данные индекса из ячейки. Все идет нормально.Вычислить indexPath, а затем перезагрузить данные? Swift 3

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { 

    let sales: Sales! 
    let tSale: [Sale] = revenueData.tSale 
     sales = tSales[indexPath.row] 
    DispatchQueue.main.async { 
     self.performSegue(withIdentifier: "detailedView", sender: sales) 
    } 
} 

`

Теперь мне нужно перезагрузить данные, чтобы представить информацию из следующего indexPath внутри второго View контроллера. Я думаю, мне, возможно, потребуется захватить данные indexPath, которые он должен перезагрузить в другой индекс. Как я могу это достичь?

ответ

0

Для настройки нового контроллера просмотра перед его отображением есть крючок в UIViewController. Что-то вроде этого может сработать.

self.performSegue(withIdentifier: "detailedView", sender: (sales, indexPath.row)) 

, а затем

override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 
    guard 
     let sender = sender, 
     let (sale, row) = sender as? (Sale, Int) 
     else { return } 

    segue.destination.sale = sale 
    segue.destination.saleIndex = row 
}