prepareForSegue Swift 4,将数据从Tableview传递给View控制器

时间:2018-06-17 05:53:57

标签: tableview segue swift4 didselectrowatindexpath

我正在尝试制作Meme Generating应用。生成模因时,会将其保存到嵌入标签栏的表视图中。如果您选择表格上的单元格,它应该转到显示您选择的模因的视图控制器。这是我的代码。每当我尝试选择一个单元格时,我会在准备segue函数的最后一行得到错误“在尝试解包时发现nil和可选”。请帮忙!

import UIKit

class SentMemesTableViewController: UITableViewController {
    var memes: [UIImage]! {
    let object = UIApplication.shared.delegate
    let appDelegate = object as! AppDelegate
    return appDelegate.memedImages
}
var newMeme: UIImage!

override func viewDidLoad() {
    super.viewDidLoad()
    tableView.reloadData()


}

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    tableView.reloadData()
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()

}

// MARK: - Table view data source



override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

    return memes.count
}

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let meme = memes[indexPath.row]
    let cell = tableView.dequeueReusableCell(withIdentifier: "MemeCell", for: indexPath)


    cell.imageView?.image = meme
    newMeme = meme


    return cell

}

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {


  self.performSegue(withIdentifier: "memeDetail", sender: newMeme)




}


override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "memeDetail" {
        let detailVC = segue.destination as! MemeDetailViewController
        detailVC.memePreview.image = newMeme
    }
}

}

0 个答案:

没有答案