2015-12-18 110 views
1

我有項目,我2個2 ParseUsers之間發送消息,而這些消息保存爲ParseObjects,我保持一個指向2個用戶發送消息「未經過身份驗證ParseUser」對彼此。該代碼適用於數據庫中的每個用戶,除非我向1個特定用戶發送消息。然後,我得到「無法保存未認證的ParseUser」,因此它似乎解析嘗試保存其他用戶對象,以節省我的消息的parseObject在一起,就這一個特定的用戶。 試圖創建一個「無數據保存」對象,但得到相同的錯誤。任何人都經歷過這個?的parseObject與指向另一個ParseUser失敗,因爲

ParseObject message = new ParseObject("MSG"); 
message.put("sender", meUser); 
message.put("receiver", otherUser); 
message.saveInBackground(new SaveCallback() { 
         @Override 
         public void done(ParseException e) { 
          if(e== null){ 
           Log.i(TAG, " Worked..."); 
          }else { 
           e.printStackTrace();         
          } 
         } 
        }); 
+0

你可以嘗試用戶'otherUser.getObjectId()'?我的猜測是,你不能使用這個保存未記錄的用戶。 –

+0

是的,我已經試過只OBJECTID,然後它的工作原理的原因然後解析不試圖挽救其他ParseUser。但我不明白爲什麼它保存其他ParseUser擺在首位,引起了我只是把指針到另一個對象,我不是以任何方式修改其他ParseUser。另外,它只是一個特定的用戶,它不起作用,代碼適用於我和其他10個用戶之間的消息。 – Slagathor

+0

你可以檢查解析的ACL嗎? –

回答

0

問題是,我確實試圖改變另一個用戶對象。通過使用對象上的「isDirty()」方法進行回溯,發現問題的位置在哪裏,以找出我在對象上進行更改的位置。這種方法導致我成爲問題的根源。 isDirty()如果​​您對對象進行了任何更改但尚未保存,則返回true。

相關問題