【问题标题】:How to compare pointer parse objects in Swift?如何比较 Swift 中的指针解析对象?
【发布时间】:2015-04-24 21:48:50
【问题描述】:

我有一个使用 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 {

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

谢谢!

【问题讨论】:

  • 试试:PFUser.currentUser().objectId == user1.objectId?
  • 查看:nshipster.com/equality 了解更多背景信息。
  • 成功了!太感谢了!请务必添加答案,我会将其标记为解决方案
  • 没问题!写了一个答案...

标签: swift parse-platform


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-10
    相关资源
    最近更新 更多