PFUser.currentUser vs String

时间:2015-06-01 05:43:39

标签: ios objective-c swift parse-platform

我正在使用Parse开发iOS swift。我的代码段如下:

override func viewDidLoad() {
    super.viewDidLoad()

    var currUser = PFUser.currentUser()

    var prefQuery = PFQuery(className: "preferences")
    prefQuery.whereKey("username", equalTo: currUser)

...

上面的代码没有给我任何信息,尽管我在“偏好”中有一条记录'当前用户的表。但是当我使用时,它会返回一行:  ...... prefQuery.whereKey("username", equalTo: "Kale")

我对使用PFUser.currentUser()方法与字符串进行比较有什么不妥?

提前致谢,

2 个答案:

答案 0 :(得分:0)

您需要使用:

PFUser.currentUser()?.username

但是因为它是一个可选项,你需要解开最好的方法

if let user = PFUser.currentUser()?.username{
    //Query user 
    println("Found user \(user)")
} else {
    //Error handle
    println("No user logged")
}

答案 1 :(得分:0)

我查看了你的代码,我认为PFUser.currentUser()不是NSString类型,你会对它感到困惑。它包含用户信息的字典。相反,获取它的valueofkey。我认为密钥应该是用户名。 所以,替换这个:

prefQuery.whereKey("username", equalTo: currUser.username)

希望它有所帮助.. :)