我有一个使用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进行比较?
谢谢!
答案 0 :(得分:1)
PFUser没有设置为以这种方式支持相等,但看起来比较objectIds会在你的情况下做正确的事情:
if PFUser.currentUser().objectId == user1.objectId