Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何在Parse中获取对象Id为数组的对象_Ios_Swift_Parse Platform - Fatal编程技术网

Ios 如何在Parse中获取对象Id为数组的对象

Ios 如何在Parse中获取对象Id为数组的对象,ios,swift,parse-platform,Ios,Swift,Parse Platform,我有一个objectid=[“LlbAXkqOL4”,“v7lSgUunbR”] 如果我只有一个对象id,那么我可以使用 query.getObjectInBackgroundHiId(“A2332xsdas2”) 因为我有很多objectid,所以我遵循以下代码: let userQuery = PFUser.query() userQuery?.whereKey("username", equalTo: self.user!.username!) userQuery?

我有一个
objectid=[“LlbAXkqOL4”,“v7lSgUunbR”]

如果我只有一个对象id,那么我可以使用

query.getObjectInBackgroundHiId(“A2332xsdas2”)
因为我有很多objectid,所以我遵循以下代码:

    let userQuery = PFUser.query()
    userQuery?.whereKey("username", equalTo: self.user!.username!)
    userQuery?.findObjectsInBackgroundWithBlock {
        (object, error) -> Void in
        if object != nil
        {
            for messageObject in object! {
                self.importedArray = ((messageObject as! PFObject)["AllEventsId"] as? [String]!)!
                println("importedArray = \(self.importedArray)")
            }
        }
    }


    var query:PFQuery = PFQuery(className: "Events")
    query.whereKey("objectId", containedIn: self.importedArray)
    query.whereKey("EventSTDTime", greaterThan: zDate)
    query.findObjectsInBackgroundWithBlock {
        (object, error) -> Void in
        if object != nil
        {
            println(objects)
        }
     }      
以下是截图:


但是此方法不起作用,因为它获取了类
事件下的所有id

不确定您的请求返回整个类信息的原因。但这里的要点是,解析后台方法是同步运行的,您不能对它们进行迭代

可能适合您的解决方案如下:

var query:PFQuery = PFQuery(className: "Events")
    query.whereKey("objectId", containedIn: objectIds)
    query.findObjectsInBackgroundWithBlock({ (objects, error) -> Void in
                println(objects)
    })

不确定您的请求返回整个类信息的原因。但这里的要点是,解析后台方法是同步运行的,您不能对它们进行迭代

可能适合您的解决方案如下:

var query:PFQuery = PFQuery(className: "Events")
    query.whereKey("objectId", containedIn: objectIds)
    query.findObjectsInBackgroundWithBlock({ (objects, error) -> Void in
                println(objects)
    })

我不明白你面临什么问题。您所说的“在获取类事件下的所有id时不工作”是什么意思。请提供更多详细信息。在
Events
类中,如果我有10行,它将获取所有10行,我只需要数组中提到的具有
objectId
的行:
objectId
对我有效。这个导入的数组有正确的数据吗?是的,我可以在控制台中获取
导入的数组
,它很好。告诉我你在尝试什么我没有得到你面临的问题。您所说的“在获取类事件下的所有id时不工作”是什么意思。请提供更多详细信息。在
Events
类中,如果我有10行,它将获取所有10行,我只需要数组中提到的具有
objectId
的行:
objectId
对我有效。此importedArray是否具有正确的数据?是的,我可以在控制台中获取
importedArray
,它很好。演示您尝试的内容您确定这些ID存储在您的数据库中吗?您能用解析表的列表编辑您的问题吗?您确定这些ID存储在您的数据库中吗?你能用你的解析表来编辑你的问题吗?