在 secondViewController 中有 4 个 textField 。我想用 firstviewController 集合视图单元检查这个 textField 值

Posted

技术标签:

【中文标题】在 secondViewController 中有 4 个 textField 。我想用 firstviewController 集合视图单元检查这个 textField 值【英文标题】:IN secondViewController there are 4 textField . I want check this textField value with firstviewController collection view cell 【发布时间】:2019-03-24 19:49:50 【问题描述】:

我的FirstViewController 中有集合视图,我想将数据从集合视图单元格传递到下一个secondViewController textField。 有四个文本字段,我在 XIB 中设计了这个文本字段并加载到secondViewController。 基本上我必须检查 textField 数据到数组中的集合视图单元格标签。

这是我的代码

import UIKit

class BackUpWord
    var label: String
    var index: String

    init(label:String, index:String) 
        self.label = label
        self.index = index
    

class FirstViewController: UIViewController 

    @IBOutlet weak var collectionView: UICollectionView!
    private var seed : Seed!
    private var words : [String]!
    var backupWords:[BackUpWord] = []

 override func viewDidLoad() 

        super.viewDidLoad()
        cellIndex = 1
        self.collectionView.isPagingEnabled = true

        let entropy = Data.randomBytes(length: 32)
        self.seed = Seed.init(entropy: entropy)!
        words = self.seed.toBIP39Words()

        var index = 1
        for item in words! 
            backupWords.append(BackUpWord.init(label: item, index: index.description))
            index = index + 1
        


extension FirstViewController: UICollectionViewDelegate, UICollectionViewDataSource

    func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int 
       // return backupWords.count/2
        return words.count/2
    

    func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell 
        let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath) as! LabelCollectionViewCell
        let even = backupWords[indexPath.row*2]
        let odd = backupWords[indexPath.row*2+1]
        cell.backUpWordFirst.text = even.label
        cell.backUPWordSecond.text = odd.label
        cell.index.text = even.index
        cell.index2.text = odd.index
        return cell
    


【问题讨论】:

Passing Data between View Controllers的可能重复 【参考方案1】:

使用collectionView的didSelect委托:

func collectionView(UICollectionView, didSelectItemAt: IndexPath) 

  var backupWord: BackUpWord = backupWords[indexPath.row]
  let nextViewController = NextViewController = // Get next controller
  // Assign values to nextViewController
  // Push to next controller and assign values to textfields.

【讨论】:

不是这个。我必须在与单元格项目匹配的 uitextField(位于 secondViewController 上)中输入文本

以上是关于在 secondViewController 中有 4 个 textField 。我想用 firstviewController 集合视图单元检查这个 textField 值的主要内容,如果未能解决你的问题,请参考以下文章

在不同的 ViewController 之间将数据传递给数组

Swift:弹出框关闭回调

Segue 在 macOS 中不起作用

Firebase 通知 Swift 3 SecondViewController

FirstViewController 在删除 SecondViewController 的子视图时不起作用

在 secondviewcontroller UIBarbuttonItem 对于 swrevealviewcontroller 不可见?