如何使用swift在Xcode中从一个tableview转换到另一个tableview

时间:2015-07-19 04:47:49

标签: ios xcode swift parse-platform tableview

我希望有人可以帮助我从一个桌面视图到另一个桌面视图。我有一个tableview从parse.com提取信息并加载tableview单元格。我想拥有它,所以当我点击其中一个单元格时,它会将我带到另一个从parse.com提取信息的tableview。

1 个答案:

答案 0 :(得分:1)

您希望在第二个UITableViewController中显示的数据可能取决于您在第一个中搜索的单元格,对吧?然后,您需要将数据从第一个UITableViewController传递到第二个UITableViewController

如果你正在使用故事板,我建议(我认为这是最简单的方法,但我不知道它是否最好)你从第一个prepareForSegue到另一个创建了一个segue,并且正确命名。然后使用//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 } } 将该数据提供给下一个表格。如果您只使用单个Parse查询,则只需将查询中的结果数组复制到您的类中即可。

didSelectRowAtIndexPath

performSegueWithIdentifier("mySegue", sender: self)

中执行segue
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{ (...) } 为第二个表执行新查询。例如:

{{1}}

编辑:这几乎就是他们在史蒂夫发布的链接中所做的事情,但我已经做了一些希望适合你案例的例子。