将数据从CollectionViewCell传递到另一个视图控制器可以通过以下步骤实现:
protocol DataTransferDelegate: AnyObject {
func transferData(data: Any)
}
class CustomCollectionViewCell: UICollectionViewCell {
weak var delegate: DataTransferDelegate?
func sendDataToViewController() {
let data = // 获取需要传递的数据
delegate?.transferData(data: data)
}
}
class AnotherViewController: UIViewController, DataTransferDelegate {
// ...
func transferData(data: Any) {
// 处理传递过来的数据
}
// ...
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "CustomCell", for: indexPath) as! CustomCollectionViewCell
cell.delegate = self // 设置代理为当前视图控制器
return cell
}
通过以上步骤,你可以将数据从CollectionViewCell传递到另一个视图控制器,并在目标视图控制器中进行处理。
领取专属 10元无门槛券
手把手带您无忧上云