我正在开发运行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()
}