ios arrays swift uitableview reloaddata

ios - ¿Volver a cargar el método de la sección en swift 3?



arrays uitableview (3)

Tengo un código escrito en el objetivo c. Quiero convertir este código en el código swift3.

[_expandableTableView reloadSections:[NSIndexSet indexSetWithIndex:gestureRecognizer.view.tag] withRowAnimation:UITableViewRowAnimationAutomatic];

Después de convertir utilizando la herramienta en línea, me dio el código siguiente, pero no funciona

expandableTableView.reloadSections(IndexSet(index: gestureRecognizer.view!.tag), with: .automatic)

Por favor, dime cómo hacerlo ?


Recargar la sección en Swift 3.0

es decir, volver a cargar la sección 0 a la sección 0, ya que la vista de tabla tiene por defecto una sección que el índice es 0.

//let myRange: ClosedRange = 0...0 self.tableViewPostComments.reloadSections(IndexSet(integersIn: 0...0), with: UITableViewRowAnimation.top)

Para Swift 4

self.tableViewPostComments.reloadSections(IndexSet(integersIn: 0...0), with: UITableView.RowAnimation.top)


Tenga en cuenta que después de la conversión, NSIndexSet convirtió en IndexSet . IndexSet es la superposición Swift del marco de Foundation para NSIndexSet :

La superposición de Swift al marco de Foundation proporciona la estructura IndexSet, que se une a la clase NSIndexSet y su subclase mutable, NSMutableIndexSet. El tipo de valor IndexSet ofrece la misma funcionalidad que el tipo de referencia NSIndexSet, y los dos pueden usarse indistintamente en el código Swift que interactúa con las API de Objective-C. Este comportamiento es similar al modo en que Swift vincula los tipos estándar de serie, numéricos y de colección a sus clases de Foundation correspondientes.

Si verificó la descripción de la firma del método reloadSections , notará que es:

reloadSections (_ secciones: IndexSet, con animación: UITableViewRowAnimation

sections parámetro de las sections es IndexSet pero NO NSIndexSet más.

Entonces, lo que podrías hacer es:

_expandableTableView.reloadSections(NSIndexSet(index: gestureRecognizer.view.tag) as IndexSet, with: .automatic)

O prefiero agregar IndexSet sin siquiera utilizar el as IndexSet :

_expandableTableView.reloadSections(IndexSet(integer: gestureRecognizer.view!.tag), with: .automatic)


haz clic en swift3 para más información, mira this

expandableTableView.reloadSections(IndexSet(integer: gestureRecognizer.view!.tag), with: .automatic)