1查询在Swift for iOS中访问2个解析类

时间:2016-12-07 01:52:17

标签: ios swift parse-platform swift2 parse-server

我正在开发运行Swift 2的iOS应用程序,但将升级到Swift 3.

我需要从名为Posts的类中访问用户发布信息,该类将提取数据并将其添加到数组中,但与此同时,我需要获取用户的个人资料图片我发布的帖子信息同样。

这是一个棘手的部分,配置文件图像位于名为ava的另一个类User的列中。

我想在1个查询或嵌套查询中完成此操作。

我尝试了多种方法但无法使其正常工作。

我已经问过其他人,他们坚持在第一个查询中为另一个查询创建一个查询,然后将ava文件附加到我创建的ava数组中。

以下是崩溃的代码。

注意queryTwo是我尝试为User类插入查询的地方。

            let query = PFQuery(className: "posts")
            query.whereKey("username", containedIn: self.followArray)
            query.limit = self.page
            query.addDescendingOrder("createdAt")
            query.findObjectsInBackgroundWithBlock({ (objects:[PFObject]?, error:NSError?) -> Void in
                if error == nil {

                    let queryTwo = PFQuery(className: "_User")
                    queryTwo.whereKey("username", containedIn: self.followArray)
                    queryTwo.findObjectsInBackgroundWithBlock({ (objects:[PFObject]?, error:NSError?) -> Void in
                        if error == nil {

                            // clean up

                            self.avaArray.removeAll(keepCapacity: false)

                            // find related objects
                            for object in objects! {

                                self.avaArray.append(object.objectForKey("ava") as! PFFile)

                            }

                        }
                    })

                    // clean up
                    self.usernameArray.removeAll(keepCapacity: false)
                    self.avaArray.removeAll(keepCapacity: false)
                    self.dateArray.removeAll(keepCapacity: false)
                    self.picArray.removeAll(keepCapacity: false)
                    self.titleArray.removeAll(keepCapacity: false)
                    self.uuidArray.removeAll(keepCapacity: false)

                    // find related objects
                    for object in objects! {
                        self.usernameArray.append(object.objectForKey("username") as! String)
                        self.dateArray.append(object.createdAt)
                        self.picArray.append(object.objectForKey("pic") as! PFFile)
                        self.titleArray.append(object.objectForKey("title") as! String)
                        self.uuidArray.append(object.objectForKey("uuid") as! String)
                    }    

                    self.tableView.reloadData()
                    self.refresher.endRefreshing()

                }

0 个答案:

没有答案