2015-04-24 75 views
1

我有一個使用Parse.com作爲後端的簡單遊戲。我最初將一個Game對象的用戶值存儲爲字符串,並相應地構造了查詢和if語句(我是編程新手)。然後我瞭解到,正確的做法是將用戶存儲爲指向客戶表的指針對象。如何比較Swift中的指針分析對象?

我努力讓我的if語句正常工作。我想檢查當前用戶(PFUser.currentUser())等於我已經存儲在遊戲桌的用戶之一:

//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確實是當前用戶的同一用戶),也會被跳過。如何正確比較user1指針對象與currentUser?

謝謝!

+1

嘗試:PFUser.currentUser()== OBJECTID USER1 .objectId? – mattdaw

+0

查看:http://nshipster.com/equality/瞭解更多背景。 – mattdaw

+0

工作!非常感謝!請務必添加答案,我將其標記爲解決方案 – winston

回答

1

PFUser不成立,以支持這樣的平等,但它看起來就像比較的ObjectID會做正確的事,你的情況:

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