如何在Swift中比较指针解析对象?

时间:2015-04-24 11:29:47

标签: swift parse-platform

我有一个使用Parse.com作为后端的简单游戏。我最初将Game对象的用户值存储为字符串,并相应地构造了查询和if语句(我对编程不熟悉)。然后我了解到正确的方法是将用户存储为指针对象,指向"指向"回到用户表。

我努力让我的if语句发挥作用。我想检查当前用户(PFUser.currentUser())是否等于我在Game表中存储的一个用户:

//continue an active game that already exists with the user
                    if results != nil{
                        println(results)

                            //continue existing game
                            for result in results {

                                var user1 = result["user1"] as PFUser
                                var user2 = result["user2"] as PFUser
                                var round = result["round"] as Int
                                var turn = result["turn"] as PFUser

                                //continue game if current user is user1
                                if PFUser.currentUser() == user1 {

当我使用断点逐步执行代码时,即使语句为真(用户1确实与currentUser的用户相同),也会跳过if PFUser.currentUser() == user1语句。如何正确地将user1指针对象与currentUser进行比较?

谢谢!

1 个答案:

答案 0 :(得分:1)

PFUser没有设置为以这种方式支持相等,但看起来比较objectIds会在你的情况下做正确的事情:

if PFUser.currentUser().objectId == user1.objectId