从按钮将值传递给视图控制器字典

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从按钮将值传递给视图控制器字典相关的知识,希望对你有一定的参考价值。

我试图从一个按钮传递特定数据的集合视图细胞(按钮的标题)到视图控制器并把该值在阵列中。我有一个CollectionViewCell.swift和ViewController.swift和想从CollectionViewCell.swift传递字符串并将其追加到在ViewController.swift阵列。不知道如何将它传递到ViewController.swift以及如何将该值添加到一个数组到视图控制器文件。

结构操作并没有为我工作。不知道怎么按下按钮时,特定的数据传递到按钮的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

答案
protocol collectionViewCellDelegate {
    func sendBackTheName(string : String)
}

在uicollectionViewCell.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
    }
}

以上是关于从按钮将值传递给视图控制器字典的主要内容,如果未能解决你的问题,请参考以下文章

将值从一个视图控制器传递到另一个视图控制器的问题

如何将值从一个片段的回收器视图项传递到另一个片段

将值传递给导航视图控制器堆栈中的前一个视图控制器

选择时将值从 TabBarController 传递给子视图控制器

关闭时将值传递给视图控制器时出错 |斯威夫特 5

如何将值从片段/活动传递到 xml?