2014-07-12 207 views
0

我一直在解決Parse對象的問題一段時間,我不確定最佳實現是什麼。更改具有隻讀訪問權限的PFObject ACL權限

我有一個由另一個用戶創建的PFObject,一條消息,並且這個用戶給了我讀取權限,所以我可以閱讀這條消息。我不想再看到此消息,但我不想刪除它,因爲這不是我的消息。

如果我調整ACL權限刪除我的讀訪問

object.ACL setReadAccess:NO forUser:[PFUser currentUser]]; 

然後去拯救

object saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) 

我收到錯誤

Error: object not found for update (Code: 101, Version: 1.2.15) 

這顯然是對象因爲我只有讀訪問權限而不能寫訪問權限來更新對象。

我想可能有一個塊消息對象爲每個用戶,但這感覺有點混亂。

任何人都可以想到一個更好的實現我的問題?

所有的想法都很棒,只是想讓別人的iOS程序員跳出想法。

+0

有沒有人有任何聲音邏輯可以幫助我? – BrentonGray88

回答

1

我最終通過創建雲代碼來完成這項工作,我稱之爲從消息中刪除用戶。使用Parse.Cloud.UseMasterKey(),你可以做任何你想要的而沒有權限。

Parse.Cloud.define("RemoveUserFromMessage", function(request, response) { 
Parse.Cloud.useMasterKey(); 

var query = new Parse.Query("Notes"); 
query.get(request.params.noteId, { 
     success: function(note) { 
     var noteACL = note.getACL(); 
     noteACL.setReadAccess(request.params.userId, false); 
     noteACL.setWriteAccess(request.params.userId, false); 
     note.setACL(noteACL); 
     note.save(); 

     response.success(); 
    }, 
    error: function() { 
     response.error("can’t find note"); 
    } 
}); 
});