У меня есть приложение конвертера с tableView
с ячейками, в которых содержатся результаты преобразования.
Например, вы ввели 5 километров, а в tableView
ячейках для счетчиков показано 5000 и т. Д.
Я хочу сделать UIAlert
с полным результатом при нажатии на одну из ячеек.Так что я хочу, чтобы мой результат для метров и я нажимаю на ячейку метров.Как я мог сделать это?
Я попытался создать дополнительные переменные и подключить их к Alert, но значение по-прежнему показывает не ячейку, которую я выбираю, а первую ячейку в таблице, которая показывает на данный момент ...
У кого-нибудь есть идеи?
let cell1 = tableView.dequeueReusableCell(withIdentifier: "resultCell") as! ResultTableViewCell
let item = converter[indexPath.row]
cell1.nameResult.text = item.title
cell1.subtitleResult.text = item.subtitle
//MARK: - Форматтер для результатов
let formatter = NumberFormatter()
formatter.locale = Locale.current
formatter.numberStyle = .decimal
formatter.minimumFractionDigits = 3
formatter.maximumFractionDigits = maxdigits
if converterVal == NSLocalizedString("Километр", comment: "") {
cell1.labelResult.text = formatter.string(from: NSDecimalNumber(value: inputValue).multiplying(by: NSDecimalNumber(value: item.kfKilometer)))
resultVar = cell1.labelResult.text!
resultName = cell1.nameResult.text!
return cell1
} else if converterVal == NSLocalizedString("Метр", comment: "") {
cell1.labelResult.text = formatter.string(from: NSDecimalNumber(value: inputValue).multiplying(by: NSDecimalNumber(value: item.kfMeter)))
resultVar = cell1.labelResult.text!
resultName = cell1.nameResult.text!
return cell1
} else {
cell1.labelResult.text = formatter.string(from: NSDecimalNumber(value: 0))
return cell1
}
nameResult
- это имя преобразованного значения, а labelResult
- это результат преобразования, и для каждой ячейки у меня есть оператор if else
.
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
if tableView == self.tableView2 {
let alertController = UIAlertController(title: NSLocalizedString("\(inputValue) \(detailLabel) is:", comment: ""), message: NSLocalizedString("\(resultVar) \(resultName)", comment: ""), preferredStyle: .alert)
let OKAction = UIAlertAction(title: NSLocalizedString("Спасибо", comment: ""), style: .default) { action in
// ...
}
alertController.addAction(OKAction)
self.present(alertController, animated: true) {
// ...
}
}
// tableView.deselectRow(at: indexPath, animated: true)
}
И я хочу более внимательно показать эти ярлыки в Alert, но только для каждой ячейки, которая должна быть своей ...