Я новичок в Swift и у меня проблема.Вставьте динамические ячейки текстового поля в раздел в TableView - Swift
У меня есть контроллер TableView, который содержит 3 раздела, первые два состоят из одного текстового поля в одной ячейке. Однако для третьего в начале он имеет только одну ячейку (текстовое поле). Каждый раз, когда пользователь нажимает Return на текстовое поле, я хотел бы вставить одну строку, состоящую из одного текстового поля под редактируемым текстовым полем. (Например, когда вы добавляете несколько телефонных номеров в приложение «Контакты»).
Я создал UITextField массив: TextFieldArrayPayers
Мой код выглядит следующим образом: Connected к TextField, когда пользователь нажимает Return:
@IBAction func AddParticipant(sender: AnyObject) {
tableView.beginUpdates()
textFieldArrayPayers.append(UITextField());
tableView.insertRowsAtIndexPaths([
NSIndexPath(forRow: textFieldArrayPayers.count, inSection: 2)
], withRowAnimation: .Automatic)
tableView.endUpdates()
}
И управлять своими разделами:
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 3
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
if section==2
{
return textFieldArrayPayers.count+1
}
else
{
return 1;
}
}
Когда я запускаю свою программу, я пытаюсь редактировать первое текстовое поле, и когда я нажимаю Enter или Return, я получаю следующее:
Terminating app due to uncaught exception 'NSRangeException',
reason: '*** -[__NSArrayI objectAtIndex:]: index 1 beyond bounds [0 .. 0]'
Я посмотрел на многочисленные подобные темы, но никогда не находил реальное решение ..
Спасибо заранее для тех, кто получил решение
Что такое код для CEL lForRowAtIndexPath? – beyowulf
Empty, я не знаю, как это осуществить .. – AntoineP