无法通过查询从 Parse 数据库中检索用户数据

Posted

技术标签:

【中文标题】无法通过查询从 Parse 数据库中检索用户数据【英文标题】:Unable to retrieve User data from Parse database with query 【发布时间】:2016-09-10 18:52:35 【问题描述】:

我无法使用两种查询方法从解析数据库中检索任何用户数据。我可以很容易地获取所有 currentUser 数据;但是,似乎无法从其他用户那里成功检索数据。我有一种感觉,这是一个非常简单的修复,我正在查看,但我已经修改了我的代码一段时间,并且仍然为每个变量返回 nil。

第一种查询方式:

let userQuery = PFQuery(className: "User")
       userQuery.whereKey("username", equalTo: username)
   userQuery.findObjectsInBackgroundWithBlock  (users, error) -> Void in
      if error == nil 
        if let objects = users 
            for object in objects 
                if let user = object as? PFUser 

                    self.userBio = user.objectForKey("bio") as! String
                    if user.objectForKey("icon") != nil 
                        self.userIcon = user.objectForKey("icon") as! PFFile
                    
                    if user.objectForKey("header") != nil 
                    self.headerFile = user.objectForKey("header") as! PFFile
                    
            
        
    
    

第二种查询方式:

let userQuery = PFUser.query()
       userQuery?.whereKey("username", equalTo: username)
   userQuery!.findObjectsInBackgroundWithBlock  (users, error) -> Void in
      if error == nil 
        if let objects = users 
            for object in objects 
                if let user = object as? PFUser 

                    self.userBio = user.objectForKey("bio") as! String
                    if user.objectForKey("icon") != nil 
                        self.userIcon = user.objectForKey("icon") as! PFFile
                    
                    if user.objectForKey("header") != nil 
                    self.headerFile = user.objectForKey("header") as! PFFile
                    
            
        
    
    

提前感谢您的帮助!

【问题讨论】:

我认为这可能是因为默认情况下User类的安全设置不同......你必须改变,你可以在解析仪表板中进行 @JVS 使用“_User”让它工作!谢谢大佬 我会将我的评论作为答案放在您的帖子下。如果喜欢,请采纳。 【参考方案1】:
let userQuery = PFQuery(className: "User")

需要改成

let userQuery = PFQuery(className: "_User")

因为 Parse.com 的用户类是一个特殊的类。并且它的名字默认用下划线拼写。

【讨论】:

以上是关于无法通过查询从 Parse 数据库中检索用户数据的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 ObjectIds 数组从 Parse 中检索用户数组?

从 Parse.com 检索搜索结果的数据

使用 Parse 从预定义的 User 类中查询 PFFile

如何使用 swift 从 Parse 上的用户指针中检索数据

从数据库到用户随机检索两个用户,然后不再显示它们

打字机。通过日期查询时仅使用日期部分并排除时间戳部分