2015-09-02 2 views
1

Моя цель - вставить раздел по щелчку и вставить 4 строки в этот раздел.Функция InsertSections Swift

Я уже знал, как использовать InsertRowsAtIndexPaths, и вставка строк в один раздел не вызывает проблем.

Но когда дело доходит до вставки новых разделов, это сложно, и документация на яблоко не объясняет это полностью.

Вот код я использую для вставки строки

self.tableView!.beginUpdates() 
var insertedIndexPaths: NSMutableArray = [] 
for var i = 0; i < newObjects.count + 1; ++i { 
insertedIndexPaths.addObject(NSIndexPath(forRow: initialCount + i, inSection: sectionsnumbers)) } 
self.tableView?.insertRowsAtIndexPaths(insertedIndexPaths as [AnyObject], withRowAnimation: .Fade) 
self.tableView!.endUpdates() 

Любые примеры, идеи очень ценятся.

спасибо.

ответ

1

использование var sectionNumbers:NSMutableArray = ({"object":"object"}) //etc whatever object you want

Теперь использовать эту функцию

func numberOfSectionsInTableView(tableView: UITableView) -> Int{ 

return sectionNumbers.count}

и добавить объект в sectionNumbers и метод метод callThis, где вы хотите добавить раздел

 tableView.reloadData() 

Это поможет

+0

Существует несколько проблем с этим подходом. Основные методы делегирования и источника данных уже реализованы. Что касается tableView.reloadData() - это не позволит мне сохранить нужную анимацию, поэтому я пытаюсь реализовать функцию insertSection. –

1

Когда вы вставляете раздел, его данные перезагружаются. Вам не нужно указывать табличное представление обо всех новых строках отдельно; он просто попросит источник данных о числе строк в новом разделе.

Для получения дополнительной информации см. this document.

0

Вставка разделов отличается от вставки строк. Если вы хотите вставить строки, вам нужно вызвать tableView.beginUpdates() first и table.endUpdates() после завершения, иначе это вызовет исключение несогласованности данных. С другой стороны, при вставке разделов вам ничего не нужно делать, просто отразите изменение в вашем источнике данных, например numberOfSectionsInTableView.

Смежные вопросы