entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

Problema al pasar datos entre 2 TableViewController en Xcode con Swift

Buenas tardes, estoy teniendo un problema al pasar datos entre dos TableViewControllers.

Para simplificar, tengo una tabla con unas celdas personalizadas y quiero que según la celda que seleccione me mande a otra tabla con otras celdas personalizadas que tiene.

El caso es que cuando pincha en una celda, me abre la tabla donde debería de mostrar los datos vacía y ahora encima de ésta me abre otra tabla con todos los datos correctamente.

Entonces cuando le doy al botón de atrás me va a la tabla en blanco donde me debería de mostrar los datos y esta me lleva a la tabla principal.

¿Por qué me esta abriendo esta otra tabla y no me los muestra en la segunda?

Estoy un poco liado con eso porque no me sale ningún error solo lo veo en el simulador.

En la primera tabla tengo lo siguiente:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
        let indexPath:NSIndexPath = self.tableView.indexPathForSelectedRow!
        let destViewController = segue.destinationViewController as! ProductosTableViewController

        if segue.identifier == "show_products" {
            if indexPath.row == 0 {
                print(indexPath.row)
            } else if indexPath.row == 1 {
                print(indexPath.row)
                let url = NSURL(string: "http://www.xxx/xxx.php")!
                let request = NSMutableURLRequest(URL: url)
                request.HTTPMethod = "POST"

                let session = NSURLSession.sharedSession()

                let task = session.dataTaskWithRequest(request) { (data, response, error) -> Void in
                    if error != nil {
                        print(error)
                    } else {
                        do {
                            let jsonResult = try NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.MutableContainers) as? NSArray
                            for object in jsonResult! {
                                destViewController.nombresProductosGuardados.append(object.valueForKey("NOMBRE") as! String)
                                destViewController.imagenesProductosGuardados.append(object.valueForKey("IMG_OFERTA") as! String)
                                destViewController.preciosProductosGuardados.append(object.valueForKey("PRECIO") as! String)
                            }
                        } catch {
                            print(error)
                        }
                    }
                }

                task.resume()
            }
        }
    }

Y en el métdodo didSelectForRowAtIndexPath:

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
        // Get Cell Label
        performSegueWithIdentifier("show_products", sender: self)

    }

Espero que entendáis mi problema, un saludo.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta