Как получить значение textField в UITableViewCell в метод textFieldDelegate shouldChangeCharactersIn? - PullRequest
0 голосов
/ 02 февраля 2019

У меня есть tableViewCell с textFields.Я хочу получить значение для отдельного textField при изменении символов в текстовых полях.так как я могу получить значение txtfield для всех текстовых полей

func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {


    var arrChanged : NSMutableArray = []


    for i in 0..<arrCheckList.count{
        let indexPath = IndexPath(row: i, section: 0)
        let cell: CheckInCell = tblViewCheckIn.cellForRow(at: indexPath) as! CheckInCell

        if(textField.text?.count != 0){
            let dictData = (arrCheckList.object(at: cell.txtQty.tag) as! NSDictionary).mutableCopy() as! NSMutableDictionary
            dictData.setValue(cell.txtQty.text, forKey: "check_list_qty")

            arrChanged.add(dictData)
        }

    }

    arrCheckList = arrChanged

    return true
}

1 Ответ

0 голосов
/ 02 февраля 2019

Используйте следующий код, чтобы получить полный текст в текстовом поле, внутри должны изменить символы:

 var str:NSString = textField.text! as NSString
 str = str.replacingCharacters(in: range, with: string) as NSString

Для получения конкретного текстового поля, вы можете установить тег в ячейку для строки, и здесь вы можете проверить текстполе тега для идентификации Текстовое поле.

В ячейке для набора строк:

    cell.textField.tag = indexPath.row

Затем следует изменить символы в диапазоне

  array[textfield.tag] = str //which is the textfieldvalue

Так что здесь вы можете хранить текстзначение поля в соответствии с индексом строки табличного представления.

...