我想将表格中的单元格中的文件或字符串传输到带有解析的viewcontroller,但我完全卡住了。这是我的segue代码
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 :(得分: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