我希望有人能帮助我从一个 TableView 切换到另一个 TableView 。我有一个 tableview 从 parse.com 中提取信息并加载 tableview 单元格。我想要它,所以当我点击其中一个单元格时,它会将我带到另一个从 parse.com 中提取信息的表格 View 。
最佳答案
你想在第二个 UITableViewController
中显示的数据可能取决于你在第一个中点击的单元格,对吧?然后,您需要将第一个 UITableViewController
中的数据传递给第二个。
如果您使用 Storyboard,我建议(我认为这是最简单的方法,但我不知道它是否是最好的)您创建一个从第一个 UITableViewController
到其他,并正确命名。然后使用 prepareForSegue
将该数据输入到下一个表中。如果您只是使用单个 Parse 查询,您可以简单地将结果数组从您的查询复制到您的类。
//In your class declaration
var objects = [PFObject]()
//In your query method
query.findObjectsInBackgroundWithBlock {
(objects: [AnyObject]?, error: NSError?) -> Void in
if let results = objects as! [PFObject] {
self.objects = results }
}
在 didSelectRowAtIndexPath
中执行 segue
performSegueWithIdentifier("mySegue", sender: self)
并实现 prepareForSegue
以满足您的需求。
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
//Check that the segue is the right one
if segue.identifier == "mySegue" {
if let destination = segue.destinationViewController as? MySecondTableViewController {
//Grab the data from your array
if let indexPath = tableView.indexPathForSelectedRow()?.row {
if let objectToPass = objects[indexPath] as? PFObject {
//Assuming your destination VC has a variable named object, type PFObject?
destination.object = objectToPass
}
}
}
}
}
然后,在下一个 UITableViewController
中,您可以使用 object
对第二个表执行新查询。示例:
//Second UITableViewController
//If you're using PFTableQueryViewController, use the queryForTable method
let query = PFQuery(classname: "Animals")
query.whereKey("owner", equalTo: object) //Object comes from your first table
query.findObjectsInBackgroundWithBlock{
(...) }
编辑:这几乎正是他们在 Steve 发布的链接中所做的,但我已经做了一些示例,希望适合您的情况。
关于ios - 如何使用 swift 在 Xcode 中从一个 TableView 切换到另一个 TableView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31498086/