【问题标题】:Retrieving user information from Parse in swift快速从 Parse 中检索用户信息
【发布时间】:2015-07-25 04:41:47
【问题描述】:

我正在尝试从 Parse 获取用户信息(电子邮件地址)。我试过下面的代码,但它显示一个错误,说“Anyobject 不能转换为字符串”。我应该怎么做才能获得电子邮件地址?提前致谢。

  //Retrieve user info from parse 
    var query:PFQuery=PFQuery(className: "_User");

    query.whereKey("objectId", equalTo: PFUser.currentUser()!.objectId!)
    query.findObjectsInBackgroundWithBlock{
        (posts: [AnyObject]?, error: NSError?) -> Void in
        if !(error != nil) {
            let user = PFUser.currentUser()
            var email = user["email"] as! String
        }
    }

【问题讨论】:

  • 这段代码运行良好。
  • @Dharmesh Kheni 我得到一个错误“'AnyObject?'在“var email = user["email"] as!String" 行中不能转换为 'String'"

标签: ios swift parse-platform


【解决方案1】:

由于您已经有一个 PFUser.currentUser 您可以直接获取该对象而无需像这样的查询

PFUser.currentUser()!.fetchInBackgroundWithBlock({ (currentUser: PFObject?, error: NSError?) -> Void in

// Update your data

                    if let user = currentUser as? PFUser {

                        var email = user.email

                    }
                })

【讨论】:

  • 哇!这完美地工作。我有另一个问题。如果我在 Parse 的 User 类中有另一列个人资料图片,我如何获取该特定用户的个人资料图片?
  • 您可以使用下标从解析对象的键中获取数据,在上面的 if let 示例中,您将使用 var photo = user["columnNameOnParse"] 作为? PF文件
【解决方案2】:
var currentUser = PFUser.currentUser()
var email = currentUser["email"]

这样你会得到当前用户的邮箱

【讨论】:

  • 如果用户有自定义列(例如:年龄),你如何检索它?用户可以查询什么?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-06
相关资源
最近更新 更多