У меня есть пользовательский класс "TableViewCell" и "ViewController". Я реализовал func TapGestureRecognizer
в IBOutlet Label на «TableViewCell». Проблема в забаве c, есть переменная mainCounter
, которая подсчитывает, сколько раз метка была нажата, и я хотел бы получить это значение в "ViewController". Я попытался создать экземпляр TableViewCell в ViewController и получить к нему доступ, но это всего лишь новый экземпляр, поэтому я мог получить только начальное значение 0. Может кто-нибудь дать мне хотя бы простую подсказку? вот два класса
'' '
class TableViewCell: UITableViewCell {
@IBOutlet weak var showTimeLabel: UILabel!
var index = 0
var timeArr:[TimeStringLabel] = [TimeStringLabel]()
//******************************************
public var mainCounter:Int = 0
//******************************************
@objc func labelTapped(_ sender: UITapGestureRecognizer) {
if index >= timeArr.count {
}
else {
self.mainCounter = timeArr[index].timeCounter
index += 1
print(mainCounter) //In here, I can get values I want
}
}
func setupLabelTap() {
let labelTap = UITapGestureRecognizer(target: self, action: #selector(self.labelTapped(_:)))
self.showTimeLabel.isUserInteractionEnabled = true
self.showTimeLabel.addGestureRecognizer(labelTap)
}
'''
' ''
class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource{
@IBOutlet weak var tableView: UITableView!
var mainCounter:Int = 0
var tableViewCell = TableViewCell()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
self.tableView.delegate = self
self.tableView.dataSource = self
}
@IBAction func resetButton(_ sender: Any) {
print(tableViewCell.mainCounter) //In here, I can get only 0
}
'' '