gpt4 book ai didi

swift - PFQuery 将结果分类为多级数组

转载 作者:行者123 更新时间:2023-11-30 10:08:27 25 4
gpt4 key购买 nike

我正在尝试执行多个 PFQuery 并正确存储数据。

我的计划是查询我的群组中的群组成员我正在寻找关键成员。它给了我一个objectIds数组。然后我想在我的 _User 类中使用键 firstImage 查询他们的图片。显示数据不是问题,只要以正确的方式获取数据即可。

存储数据时需要考虑其分组。这是我到目前为止尝试过的:

  let fetchGroupsQuery = PFQuery(className: "Group")
fetchGroupsQuery.whereKey("member", equalTo: objectID!)
fetchGroupsQuery.findObjectsInBackgroundWithBlock { (objects, error) -> Void in
if error != nil
{
}
else {

if let objects = objects {
self.memberPhotos.removeAll()

for object in objects {

if let member = object["member"] as? [String]
{
// returns array of objectIds
for user in member
{
// returns single ids
self.groupIds.append(user)

let photoQuery = PFUser.query()
photoQuery?.whereKey("objectId", equalTo: user)
photoQuery?.findObjectsInBackgroundWithBlock({ (results, error) -> Void in
if error != nil {
// ....
}
else {
self.memberPhotos.removeAll()
if let results = results
{
for result in results
{
if result["firstImage"] != nil
{
self.memberPhotos.append(result["firstImage"])
}
}
}
}})
}
}

我的想法是将数据存储在数组的数组中。这样我稍后就可以进入 array[indexPath.row] 来获取我需要循环的数组,以便获得正确的组图片。

有什么想法可以解决这个问题吗?

最佳答案

我会使用两个单独的查询函数:1) 获取他们的 ID2) 他们的照片。

对于第一个查询:您需要更改什么?

您的 objectID 数组应该是 NSMutableArray 类型,因为为了获取它们的信息,您应该使用约束 whereKey containsIn 而不是 >whereKey equalTo对于该约束,您应该将 NSMutableArray 向下转换为 AnyObject 类型。

同时将您的 groupId 的类型更改为 NSMutableArray,然后附加您的数组。

对于第二个查询:

由于您的 groupIds 类型已经是 NSMutableArray,只需将其转换为 AnyObject,然后使用 whereKey containsIn

Note: It would be better to download all images before appending your array. So you have the option of using struct or class(easier to group data to its owner) then create an array of that data structure.Where it because easier to populate your UI.

关于swift - PFQuery 将结果分类为多级数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34682087/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com