对于未在查询函数中调用的循环

时间:2016-03-17 22:38:36

标签: ios swift parse-platform

我在我的集​​合视图控制器的viewDidLoad中调用以下函数。我试图从我的解析服务器的User类中检索一个值。我的问题是没有调用for循环,它不允许从列中检索字符串值并存储在数组中。

func loaduuid(){
    let query = PFQuery(className: "_User")

    query.whereKey("uuid", equalTo: guestname.last!)
    query.findObjectsInBackgroundWithBlock ({ (objects:[PFObject]?, error:NSError?) -> Void in
        if error == nil {
            print("no error")

            for object in objects!{

                // add found data to arrays

                self.newuuid.append(object.valueForKey("uuid") as! String)
                print("uuid added")

            }
        }
        else {
            print(error?.localizedDescription)
        }
    })
}

为什么我的for循环没有被调用,我该如何解决?

2 个答案:

答案 0 :(得分:0)

您应该尝试print(objects!.count)来查看PFObjects数组是否为空,这可能就是为什么不迭代数组的原因。如果它打印0,则表示您的查询未在服务器上找到任何结果。

答案 1 :(得分:0)

如果用户已登录,则您可以从本地设备的_User类获取其行的所有信息,您可以使用

进行访问。
let uuid = PFUser.currentUser()!["uuid"] as! String

或者如果_User行中有一些更新的值,您可以使用

PFUser.currentUser()?.fetchInBackgroundWithBlock...