Во втором ViewController есть 4 textField. Я хочу проверить это значение textField с ячейкой представления коллекции firstviewController - PullRequest
1 голос
/ 24 марта 2019

У меня есть представление коллекции в моем FirstViewController, и я хочу передать данные из ячейки представления коллекции в следующую secondViewController textField. Есть четыре текстовых поля, и я разработал этот 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
    }

}

1 Ответ

0 голосов
/ 24 марта 2019

Использовать didSelect делегата collectionView:

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.
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...