我正在尝试将特定数据从集合视图单元格中的按钮(按钮的标题)传递给视图控制器,并将该值放入数组中。我有一个CollectionViewCell.swift和ViewController.swift,想从CollectionViewCell.swift传递字符串,并将其附加到ViewController.swift中的数组。不确定如何将其传递到ViewController.swift中,以及如何将该值添加到View Controller文件中的数组中。
Struct Operation对我不起作用。不确定如何在按下按钮时将特定于按钮的数据传递给ViewController.swift。
@IBAction func myButton(_ sender: UIButton) {
let name = sender.title(for: .normal) ?? String()
//I Want to send name to view controller and put it into an array in the ViewController.swift
答案 0 :(得分:1)
protocol collectionViewCellDelegate {
func sendBackTheName(string : String)
}
在collectionViewCell.swift中
var delegate : collectionViewCellDelegate?
@IBAction func myButton(_ sender: UIButton) {
let name = sender.title(for: .normal) ?? String()
//I Want to send name to view controller and put it into an array in the ViewController.swift
delegate?.sendBackTheName(string : name)
}
在viewController.swift中,添加以下行
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
// do your works
cell.delegate = self
return cell
}
extension ViewController : collectionViewCellDelegate {
func sendBackTheName(string : String) {
array.append(string) // assuming array is declared previously
}
}