получить текст метки из ячейки в строке - PullRequest
0 голосов
/ 27 апреля 2018

есть ли другой способ, которым я могу получить строку из refinementslabel.text, когда я вызываю действительно выбрать строку, потому что я думаю / очевидно в новом XCode вызове
let serviceTypeCell = tableView.dequeueReusableCell(withIdentifier: "cellId", for: indexPath) as! ServiceCell

вылетает мое приложение

поэтому я ищу код как
let text = refinementsLabel.text at indexpath.row

но я точно не знаю, что печатать?

let sections = ["All Users & Services","Automotive", "Building & Construction", "Cleaning", "Landscaping & Gardening"]

let services = [["All Users & Services"],["Automotive"],["Air Conditioning & Heating","Bricklaying", "Carpentry","Carpet Layer","Concreting & Paving","Electrical","Fencing and Gates","Flooring","Handyman","Other","Painting & Decorating","Pet Control","Plastering","Plumbing","Roofing","Rubbish Removal","Scaffolding","Tiling"], ["Cleaning"],["Landscaping & Gardening"]]

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

    let serviceTypeCell = tableView.dequeueReusableCell(withIdentifier: "cellId", for: indexPath) as! ServiceCell
    var service = serviceTypeCell.refinementsLabel.text
    service = services[indexPath.section][indexPath.row]

defaults.set(service, forKey: "Service being searched")
    guard let serviceBeingSearched = self.defaults.string(forKey: "Service being searched") else { return }
    navigationItem.title = serviceBeingSearched
     tableView.reloadData()

}

1 Ответ

0 голосов
/ 27 апреля 2018

Метод ниже используется при создании новой ячейки, этот метод используется в cellforRow, если вы используете этот метод, чем сбой приложения

let serviceTypeCell = tableView.dequeueReusableCell(withIdentifier: "cellId", for: indexPath) as! ServiceCell  

Если вы получаете ячейку методом didselect, вы можете использовать код ниже

let cell = tableView.cellForRow(at: indexPath) as? ServiceCell

если вы получили строку, вы можете выбрать ячейку, чем использовать ниже строки

let service = services[indexPath.section][indexPath.row]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...