2015-09-16 27 views
1

我想通过解析将文件或字符串从表格中的单元格传输到viewcontroller,但我完全卡住了。这里是我的赛格瑞如何使用Parse TableView传输图像

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

     if segue.identifier == "mySegue" { 

      let segue: myController = segue.destinationViewController as! myController 
      let segue2 = tableView.indexPathForSelectedRow?.row 

      segue.myLabelInViewController = objects[segue2!] as! String 
     } 

    } 

代码和这里是UIImage的转移

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

     if segue.identifier == "mySegue" { 

      let segue: myController = segue.destinationViewController as! myController 
      let segue2 = tableView.indexPathForSelectedRow?.row 

      segue.myUIImageView.image = UIImage(data: objects[segue2!]) 
     } 

    } 
+0

你有没有宣布myLabelInViewController作为一个myController的字符串? –

+0

是@HassanMahmood var myLabel:String =“” – fuzunspm

+0

为什么不使用“覆盖func tableView(tableView:UITableView,didSelectRowAtIndexPath indexPath:NSIndexPath)”? –

回答

1

我认为你必须要对一些问题的另一个代码。首先,如果您使用PFQueryTableViewController,则objects是PFObjects的数组。这意味着您将要将整个PFObject传递到目标视图控制器,或者您可以传递各个属性。

其次,请在您的表视图控制器中尝试以下传递整个对象。在目标视图控制器中,我们可以设置UILabel和UIImage。

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
    if segue.identifier == "mySegue" { 
     // Get the new view controller using [segue destinationViewController] 
     var detailScene = segue.destinationViewController as! myController 

     // Pass the selected object to the destination view controller 
     if let indexPath = self.tableView.indexPathForSelectedRow() { 
      let row = Int(indexPath.row) 
      detailScene.currentObject = (objects?[row] as! PFObject) 
     } 
    } 
} 

接着,将以下添加到你的细节的顶部(目的地)的视图控制器

// Container to store the view table selected object 
var currentObject : PFObject? 

当详细视图控制器的负载,采取currentObject的内容和推值到适当的标签和图像以便显示它们。更新你的viewDidLoad()方法看起来像这样。

override func viewDidLoad() { 
    super.viewDidLoad() 

    // Unwrap the current object 
    if let object = currentObject { 
     myLabelInViewController.text = object["someString"] as! String 
     myUIImageView.image = UIImage(data: object["someImageData"] as! NSData) 
    } 
} 

我强烈建议你看看这个great tutorial on PFQueryTableViewControllers in Swift

+0

非常感谢你的答案。我会尽快尝试,并会让你知道 – fuzunspm

+0

你的想法和解决方案解决了我的问题,实际上让我想到了更多关于我的应用程序的可能性。非常感谢你 – fuzunspm

+0

很高兴听到它! – Russell