2015-02-26 4 views
1

У меня есть табличное представление, которое показывает несколько текстовых меток и одно изображение в каждой ячейке из массива объектов struct. Одна из переменных внутри каждого структурного объекта в массиве представляет собой строковую переменную, содержащую имя файла второго изображения (не изначально показано в ячейке)Как передать переменную из массива объектов struct через segue - Swift

Как это сделать, когда пользователь нажимает на строку в таблице , второе изображение отправляется через segue в представление изображения в контроллере подробного представления?

TableViewController код:

override func tableView(tableView: UITableView, 
didDeselectRowAtIndexPath indexPath: NSIndexPath) { 

    let courseSection = courseData[indexPath.row] 

    var tipPic = courseSection.plan 
    var courseImage : UIImage = UIImage(named: tipPic)! 

func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
    var destViewController : DetailViewController = segue.destinationViewController as DetailViewController 

    destViewController.receivedPic = courseImage 

DetailViewController код:

import UIKit 

class DetailViewController: UIViewController { 

@IBOutlet weak var bigTipPic: UIImageView! 

var receivedPic: UIImage? 

override func viewDidLoad() { 
    super.viewDidLoad() 

bigTipPic.image = receivedPic 

} 

Большое спасибо

+0

Это строка переменной «план «для выбранной строки Я пытаюсь преобразовать в UIImage и отправить на просмотр изображения во втором контроллере представления –

ответ

0

Изменить prepareForSegue так:

func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
    var destViewController : DetailViewController = segue.destinationViewController as DetailViewController 

    let courseSection = courseData[tableView.indexPathForSelectedRow()!.row] 

    var tipPic = courseSection.plan 
    var courseImage : UIImage = UIImage(named: tipPic)! 

    destViewController.receivedPic = courseImage 
} 
+0

Спасибо. К сожалению, сборка не выполняется. 'NSIndexPath?' не имеет члена с именем 'row' –

+0

Просто добавьте! к таблицеView.indexPathForSelectedRow! .row <- –

+0

Хм, вам придется добавить немного больше информации об этом. –

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