将值从按钮传递到View Controller字典

时间:2019-02-05 00:21:27

标签: ios swift

我正在尝试将特定数据从集合视图单元格中的按钮(按钮的标题)传递给视图控制器,并将该值放入数组中。我有一个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

1 个答案:

答案 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
    }
}