Пользовательский класс ячейки имеет переопределяющий func layoutSubviews(), где detailTextLabel каждой ячейки присваивается заголовок «Jim». Нажав на DidSelectRowAtIndexPath, есть способ постоянно менять текст детали ячейки (чтобы остановить ячейку от постоянного создания детали Джима), чтобы сказать «Боб» ?.Как изменить пользовательскую ячейку внутри DidSelectRowAtIndexPath
//This function is in the custom cell UserCell
class CustomCell: UITableViewCell {
override func layoutSubviews() {
super.layoutSubviews()
detailTextLabel?.text = "Jim"
}
///........
}
//In the viewController with the tableView outlet
class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
//.....
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier(cellId, forIndexPath: indexPath) as! CustomCell
//......
return cell
}
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
/* Code I need to convert the detailTextLabel.text to equal "Bob" upon clicking on certain cell */
}
Спасибо за ответ, хотя я уже пробовал это. Он остался как Джим, поскольку переопределяющий func layoutSubviews вызывается, когда tableView перезагружается и поэтому возвращает его в Jim даже после того, как я объявляю его как Боба в моем didSelectRow. ... – slimboy