嘿伙计们,我有一个我无法完全理解的情况。如何计算 Segued 视图控制器的 indexPath?当我从CollectionViewCell
中切换时,我从单元格中获取索引数据。目前为止,一切都好。
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 的信息。我想我可能需要获取它必须重新加载到另一个索引中的 indexPath 数据。我怎样才能做到这一点?
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
}