2017-02-17 52 views
0

Я пытаюсь получить текст из текстового поля в динамическом Tableview так то будет означать, я один или несколько TextField я попытался это, но он не работаетполучить текст из текстового поля в динамическом Tableview и вставить его в массиве быстрой

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
    let cell = tableView.dequeueReusableCell(withIdentifier: "GPACell", for: indexPath) as! TableViewCell 

    coursesGrade.insert(cell.grade.text!, at: indexPath.row) 

    return cell 
} 

ответ

2

Вы должны использовать textField.tag и textFieldDidBeginEditing делегат UITextFieldDelegate

сделать массив хранения TextField текста. для каждого textField, который добавил к столу нужно добавить пустое значение в массиве данных и установить таблицу indexPath.row в textField.tag

так в textFieldDidBeginEditing делегате у вас есть доступ к textField.tag и вы можете хранить textField.text в data[textField.tag] массиве.

есть много способов заставить его работать. Это один из таких способов ;-)

+0

Использование свойства 'tag' для хранения информации о указателе пути очень хрупко и может сломаться. Вы можете получить индексный путь для любой ячейки, вызвав: 'indexPath (for:)' в 'UITableView' или' UICollectionView' –

+0

@RoboticCat, я не так, я использовал 'Tag' в каком-то проекте, и это было успех. Я представляю эти инструменты (тег, делегат textField), чтобы он/она мог использовать их, чтобы сделать это. – Vahid

+0

Это хрупкое, потому что у вас нет контроля над свойством (другой код может перезаписать тег), перемещение ячеек приведет к тому, что свойство будет неправильным значением без написания и поддержки дополнительного кода, не просто поддерживает разделы и строку/элементы, может легко вызывать исключения во время выполнения, трудно отлаживать (тогда как свойства/ссылки только появляются в LLDB, а код, использующий его, не проверяется на правильность времени компиляции. Использование свойства 'tag' является анти-шаблоном из-за всех этих причин и Если вы ищете в Интернете для свойства iOS tag fragile (или аналогичного), вы найдете примеры –