Текст из массива в textView (который находится в TableCell) - PullRequest
0 голосов
/ 24 декабря 2018

У меня есть UITableView, который передает данные (изображение и метку) из ячейки в DetailViewController.Это прекрасно работает для всех 20 ячеек, которые у меня есть!

Но теперь я пытаюсь создать массив, который дает мне «Comm1Description» и «Comm1Description» (просто текст из «arr2») в моем DetailViewController.Comm1Description для Cell1, Comm2Description для Cell2 и т. Д.

Это мой код

import UIKit

 class WCommanderController: UIViewController {

@IBOutlet weak var tbl: UITableView!

var arr = ["Commander1", "Commander2"]
var arr2 = ["Comm1Description", "Comm2Description"]

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}
}

extension WCommanderController: UITableViewDataSource,   UITableViewDelegate {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return arr.count
}


func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
    return 130
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as? DataTableViewCell
    cell?.img.image = UIImage(named: arr[indexPath.row])
    cell?.lbl.text = arr[indexPath.row]
    return cell!
}

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    let vc = storyboard?.instantiateViewController(withIdentifier: "DetailViewController") as? DetailViewController
    vc?.str = arr[indexPath.row]
    navigationController?.pushViewController(vc!, animated: true)

   }
 }

1 Ответ

0 голосов
/ 24 декабря 2018

Если у вас есть текстовое представление в ваших табличных ячейках, то это можно сделать.

let dictionary1 = ["KeyCommander": "Commander1", "KeyDescription": "Comm1Description1", "KeyTextField": "TextField1"]

let dictionary2 = ["KeyCommander": "Commander2", "KeyDescription": "Comm1Description2", "KeyTextField": "TextField2"]

Теперь создайте массив как переменную.

var array = [dictionary1, dictionary2]

В CellForRowAtIndex укажите текстовое полетег.

 array[textfield.tag]["KeyTextField"] = "Typed Value"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...