Parse platform 如何使用prepare for segue方法将数据从表格单元格传输到新的视图控制器?

Parse platform 如何使用prepare for segue方法将数据从表格单元格传输到新的视图控制器?,parse-platform,swift2,segue,Parse Platform,Swift2,Segue,当我选择单元格时,如何使用prepare for segue将图像(tweetImg)和日期(dateLbl)从tablecell(mainCell)传输到Newviewcontroller?在我的例子中,我使用parse.com作为后端来检索图像和日期数据。我是编程新手,希望能得到一些帮助,谢谢 mainVC mainCell NewViewController 删除方法didselectrowatinexpath,并将segue连接到表视图单元格而不是视图控制器 选择单元格后,它将作为pre

当我选择单元格时,如何使用prepare for segue将图像(tweetImg)和日期(dateLbl)从tablecell(mainCell)传输到Newviewcontroller?在我的例子中,我使用parse.com作为后端来检索图像和日期数据。我是编程新手,希望能得到一些帮助,谢谢

mainVC

mainCell

NewViewController


删除方法
didselectrowatinexpath
,并将segue连接到表视图单元格而不是视图控制器

选择单元格后,它将作为
prepareforsgue
方法中的
sender
参数传递


旁注:不要在视图中执行后台任务–即
cellforrowatinexpath
方法–在模型中执行–数据源数组中的项–然后调用
reloadData()

下面我提到了一个示例模板代码。根据下面提到的代码组织代码。重要的部分是在
prepareforsgue
中选择单元格,而不是在
didSelectRowAtIndexPath
中选择单元格。这是
let indexath=self.tableView.indexPathForSelectedRow()


@Dimuth Lasantha这是我所做的,它起了作用:覆盖func Prepareforsgue(segue:UIStoryboardSegue,sender:AnyObject?{让即将到来的:NewViewController=segue.destinationViewController as!NewViewController让indexPath=self.resultTable.indexPathForSelectedRow!让titleString=self.resultsStartdateArray[indexPath.row]as String comming.titleString=titleString self.resultsTable.DeceloseRowatineXpath(indexPath,动画:true)}如何在单元格中添加按钮而不是按下单元格来执行此过程?感谢您的帮助。
import UIKit
class mainVC: UIViewController, UITableViewDataSource, UITableViewDelegate,  {

    @IBOutlet weak var resultsTable: UITableView!

    var resultsStartdateArray = [String]()
    var resultsTweetImageFiles = [PFFile?]()

    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
      return resultsTweetImageFiles.count
    }

    func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
        return 350
    }

    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let cell:mainCell = tableView.dequeueReusableCellWithIdentifier("Cell") as! mainCell
        cell.dateLbl.text = self.resultsStartdateArray[indexPath.row]
      resultsTweetImageFiles[indexPath.row]?.getDataInBackgroundWithBlock({
                (imageData:NSData?, error:NSError?) -> Void in

                if error == nil {

                    let image = UIImage(data: imageData!)
                    cell.tweetImg.image = image


                }

            })
        return cell
    }

    func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
        self.performSegueWithIdentifier("SendDataSegue", sender: self)
    }

    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?)
    {
        if (segue.identifier == "SendDataSegue")
        {
            let destination: NewViewController =  segue.destinationViewController as! NewViewController
           //  I believe the missing code should be here 
        }
    }
}
import UIKit
class mainCell: UITableViewCell {

      @IBOutlet weak var tweetImg: UIImageView!
      @IBOutlet weak var dateLbl: UILabel!

      override func awakeFromNib() {
      super.awakeFromNib()
   }
}
import UIKit

class NewViewController: UIViewController {

      @IBOutlet weak var dateLbl: UILabel!
      @IBOutlet weak var tweetImg: UIImageView!

 var titleString: String!

override func viewDidLoad()
{
    super.viewDidLoad()

    self.dateLbl.text = self.titleString

}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

    //Index path is the selected cell  
    let IndexPath = self.tableView.indexPathForSelectedRow()!

    //Here you can assign your tweetImg and dateLbl

    let newViewController = segue.destinationViewController as! NewViewController
    newViewController.dateLbl.text = //your date label value
    //here assign your image to destination view controller property
}