У меня есть таблица, состоящая из более чем 20 строк, и у каждой строки есть 3 текстовых поля с именем Rate, minutes and total. расчет как скорость / 60 * минут = всего. Я хочу получить все 20 строк в другом текстовом поле Balance, которое является не частью ячейки табличного представления, а контроллером представления. Я хочу вычислить значение в реальном времени и получить добавление общего текстового поля с именем «Рупии». Текстовое поле под ячейкой табличного представления введите описание изображения здесь . Я вижу 3 строки на экране, а 17 других не активны , Я получаю только 3 текстовых поля подряд не для всех. Я написал этот код, но могу рассчитывать на 3 строки, а не на все 20. Пожалуйста, проверьте заранее. Во втором выпуске я использовал уведомление для передачи строки, и оно отправляет мне последнее значение в строке, а не обновленное. Пожалуйста, проверьте изображение
import UIKit
class calculationTVC: UITableViewCell, UITextFieldDelegate{
var numberOfItems = 0
var myTV : UITableView!
@IBOutlet weak var minutes: UITextField!
@IBOutlet weak var total: UITextField!
@IBOutlet weak var rate: UITextField!
@IBAction func rateChanged(_ sender: UITextField) {
// print(minutes.text, total.text, rate.text)
ratesischanged()
}
public func ratesischanged(){
let first = Double(rate.text!)
let second = Double(minutes.text!)
let third = Double(0)
if minutes.text?.count == 0{
total.text = "\(third)"
}
if minutes.text?.count == 0{
// print("null")
total.text = "\(third)"
// print("got zero")
}else{
let output = Double((first!/60) * second!)
total.text = "\(output)"
let rows = myTV.numberOfRows(inSection: 0)
var add : Double!
var c = [Int]()
for i in 0..<rows{
let path = IndexPath(row: i, section: 0)
let cell = myTV.cellForRow(at: path) as? calculationTVC
add = (cell?.total.text as NSString?)?.doubleValue
// print(Int(add))
//print(add)
if add != nil{
c += [Int(add)]
// print(c)
}
}
var sum = 0
var counter = 0
// Enter your code below
while counter < c.count {
var newValue = c[counter]
sum += newValue
counter += 1
// print(sum, "sum")
}
var myString = String(describing: sum)
NotificationCenter.default.post(name: calculationScreen.notificationName, object: nil, userInfo: ["DataMy": myString ?? ""])
//print(ar, "new ar")
}
}
func numberOfRows(numberInt : Int,tableView : UITableView){
numberOfItems = numberInt
myTV = tableView
}
}