ios swift parse.com segue

ios - Swift link Imagen de la matriz Parse usando segues a secondViewController



parse.com (2)

Parece que debes definir un UIImageView en lugar de un UIImage en secondViewController. Su detailImageView tendrá que ser de tipo UIImageView . La forma en que lo tienes escrito, es de tipo UIImage .

En secondViewController, reemplace

var detailImageView = UIImage()

con

var detailImageView = UIImageView()

Luego cambia:

// its this line below....i think detailImage.image = detailImageView

a

// its this line below....i think detailImage.image = detailImageView.image

Para manejar el envío de imágenes desde la celda de vista de tabla a la segunda controladora de vista, será necesario tomar la imagen de la celda seleccionada. Esto se vería algo así en su prepareForSegue:

if let myIndexPath = tableView.indexPathForSelectedRow? { let cell = self.tableView.cellForRowAtIndexPath(myIndexPath) eventDetailVC.detailImageView.image = cell.postedEventImage.image }

Sus otras asignaciones en viewDidLoad en secondViewController también son un poco inusuales. Parece que está asignando los valores de texto de UILabels en función de cómo los está nombrando. Si una variable es un UILabel que tener algo llamado algo Label es apropiado. Sin embargo, si el tipo es un String, que se basan en sus asignaciones de variables, que tener algo llamado Label puede ser una fuente de confusión.

Aquí está mi código, estoy tratando de usar la función "prepareForSegue" para enviar una imagen de tableViewController (firstViewController) a mi detailedViewController (secondViewController). He logrado poblar mi primer ViewController desde la nube de análisis sintáctico con éxito y he logrado que mis segundas etiquetas ViewController se actualicen, pero no puedo actualizar imageView. He publicado mi código a continuación

firstViewController

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { let eventDetailVC: EventDetailsVC = segue.destinationViewController as! EventDetailsVC if let selectedArrayIndex = tableView.indexPathForSelectedRow?.row { eventDetailVC.detailNameLabel = postedEvents[selectedArrayIndex] eventDetailVC.detailAddressLabel = postedAddress[selectedArrayIndex] eventDetailVC.detailCityLabel = postedCity[selectedArrayIndex] eventDetailVC.detailStateLabel = postedState[selectedArrayIndex] eventDetailVC.detailStartLabel = postedStart[selectedArrayIndex] eventDetailVC.detailEndLabel = postedEnd[selectedArrayIndex] eventDetailVC.detailPriceLabel = postedPrices[selectedArrayIndex] eventDetailVC.detailDescriptionLabel = postedDescription[selectedArrayIndex] // The error is here....i think eventDetailVC.detailImageView.image = image } }

secondViewController

var detailNameLabel = String() var detailDescriptionLabel = String() var detailPriceLabel = String() var detailStartLabel = String() var detailEndLabel = String() var detailAddressLabel = String() var detailCityLabel = String() var detailStateLabel = String() var detailImageView = UIImage() override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. detailName.text = detailNameLabel detailDescription.text = detailDescriptionLabel detailPrice.text = detailPriceLabel detailStart.text = detailStartLabel detailEnd.text = detailEndLabel detailAddress.text = detailAddressLabel detailCity.text = detailCityLabel detailState.text = detailStateLabel // its this line below....i think detailImage.image = detailImageView }

Por favor alguien me puede ayudar a resolver esto, soy un poco nuevo en todo esto


Su código de guardado creo que querías ver ...

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let myCell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! EventsCell postedImages[indexPath.row].getDataInBackgroundWithBlock { (data, error) -> Void in if let downloadedImage = UIImage(data: data!) { myCell.postedEventImage.image = downloadedImage } } myCell.eventName.text = postedEvents[indexPath.row] myCell.eventStart.text = postedStart[indexPath.row] myCell.eventPrice.text = postedPrices[indexPath.row] return myCell }

y luego también está este código sobre cómo anexar a mi matriz postImages

if let objects = objects { for object in objects { self.postedImages.append(object.objectForKey("Image") as! PFFile) self.tableView.reloadData() }