Пользовательская ячейка Tableview передает данные на следующую страницу - PullRequest
0 голосов
/ 27 декабря 2018

Я несколько дней пытался превратить пользовательскую кнопку ячейки в ячейку табличного представления.Я хочу нажать кнопку «AddItem» и передать данные той строки, которую я нажал, и передать данные на следующий экран в метку.Я просмотрел несколько решений для вопросов, похожих на мои, в режиме просмотра стека, и все еще не могу заставить мою работать.Может ли кто-нибудь помочь мне здесь?Скриншоты приложения приведены ниже.

вот мой код:

import UIKit

class ViewController: UIViewController,UITableViewDataSource,UITableViewDelegate {

    let item = ["Apple","Orange"]
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return item.count
    }

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
        cell.textLabel?.text = item[indexPath.row]
        return cell
    }


    @IBOutlet var tblView: UITableView!
    override func viewDidLoad() {
        super.viewDidLoad()

    }

}

первая страница

вторая страница

1 Ответ

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

Добавить идентификатор Stroyboard к NexVC

enter image description here

Затем

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {

     let vc = self.storyboard!.instantiateViewController(withIdentifier: "NextVC") as! NextVC
     vc.loadViewIfNeeded()
     vc.lbl.text = item[indexPath.row]
     self.navigationController?.pushViewController(vc, animated: true)

}

Внутри cellForRowAt

    cell.button.tag = indexPath.row

    cell.button.addTarget(self, action: #selector(buttonTapped), for: .touchUpInside)

    return cell
}

@objc func buttonTapped (_ sender:UIButton) {

    print(item[sender.tag])
}
...