查询数据以将数据添加到 prepareForSegue 函数
Query for data to add data to prepareForSegue function
我正在尝试从 Parse table 查询数据以将其添加到 prepareForSegue 函数。但是一旦我进入 newViewController ,标签就是空白的。这是我的代码行。
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if(segue.identifier == "marathonDetail"){
var upcoming: marathonDetailViewController = segue.destinationViewController as! marathonDetailViewController
let indexPath = self.marathonsTableView.indexPathForSelectedRow!
let currentCell = marathonsTableView.cellForRowAtIndexPath(indexPath) as! marathonTableViewCell
let marathonEvents = currentCell.marathonName.text
upcoming.nameMarathon = marathonEvents
self.marathonsTableView.deselectRowAtIndexPath(indexPath, animated: true)
var query = PFQuery(className: "marathons")
query.whereKey("marathonName", equalTo: marathonEvents!)
query.findObjectsInBackgroundWithBlock{
(marathonPickeds: [PFObject]?, error: NSError?) -> Void in
if (error == nil){
if let marathonPicked = marathonPickeds as? [PFObject]?{
for marathonPicked in marathonPickeds!{
var selectedDescription = marathonPicked.description
upcoming.marathonDescription = selectedDescription
print(selectedDescription)
}
}
}else {
print(error)
}
}
}
}
marathonsEvents= currentCell.marathonName.text 运行良好,但 marathonDescription 为空。
有什么建议吗?我正在使用 Parse 作为我的后端 XCODE 7,并且 swift
您正在后台线程上执行网络调用,因此当它完成时您已经完成了 segue。您可能想要做的是:
- 将该查询逻辑拉出到一个单独的 class 中,将其从您的视图控制器中取出。
- 在这种情况下,在被推送到的视图控制器中执行请求。您可以在
viewWillAppear
开始,并在完成后刷新您的视图。看起来它拥有仅使用 marathonEvents
. 执行请求所需的所有信息
我正在尝试从 Parse table 查询数据以将其添加到 prepareForSegue 函数。但是一旦我进入 newViewController ,标签就是空白的。这是我的代码行。
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if(segue.identifier == "marathonDetail"){
var upcoming: marathonDetailViewController = segue.destinationViewController as! marathonDetailViewController
let indexPath = self.marathonsTableView.indexPathForSelectedRow!
let currentCell = marathonsTableView.cellForRowAtIndexPath(indexPath) as! marathonTableViewCell
let marathonEvents = currentCell.marathonName.text
upcoming.nameMarathon = marathonEvents
self.marathonsTableView.deselectRowAtIndexPath(indexPath, animated: true)
var query = PFQuery(className: "marathons")
query.whereKey("marathonName", equalTo: marathonEvents!)
query.findObjectsInBackgroundWithBlock{
(marathonPickeds: [PFObject]?, error: NSError?) -> Void in
if (error == nil){
if let marathonPicked = marathonPickeds as? [PFObject]?{
for marathonPicked in marathonPickeds!{
var selectedDescription = marathonPicked.description
upcoming.marathonDescription = selectedDescription
print(selectedDescription)
}
}
}else {
print(error)
}
}
}
}
marathonsEvents= currentCell.marathonName.text 运行良好,但 marathonDescription 为空。
有什么建议吗?我正在使用 Parse 作为我的后端 XCODE 7,并且 swift
您正在后台线程上执行网络调用,因此当它完成时您已经完成了 segue。您可能想要做的是:
- 将该查询逻辑拉出到一个单独的 class 中,将其从您的视图控制器中取出。
- 在这种情况下,在被推送到的视图控制器中执行请求。您可以在
viewWillAppear
开始,并在完成后刷新您的视图。看起来它拥有仅使用marathonEvents
. 执行请求所需的所有信息