无法通过查询从 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 从预定义的 User 类中查询 PFFile