2014-05-24 69 views
0

根據解析API文檔「對其他對象的安全性」。Parse.com - 如何搜索/檢索當前用戶的安全對象

創建只能由當前用戶訪問的私人筆記:

PFObject *privateNote = [PFObject objectWithClassName:@"Note"]; 
privateNote[@"content"] = @"This note is private!"; 
privateNote.ACL = [PFACL ACLWithUser:[PFUser currentUser]]; 
[privateNote saveInBackground]; 

鏈接:https://www.parse.com/docs/ios_guide#users-acls/iOS

此註釋將僅是當前用戶訪問,雖然這將是訪問任何用戶登錄的設備。

問題:如何檢索我所有的私人筆記?無法在文檔中找到。

+0

您是否提供讀取和寫入ACL給用戶? – Maul

+0

[PFACL ACLWithUser:[PFUser currentUser]];意味着讀寫都是真實的。其他用戶將永遠不會有任何讀取或寫入權限。它純粹限於當前用戶。它在文檔中說,「只有當前用戶才能訪問註釋」。但如何檢索我的所有筆記? – Tariq

+0

是它的真實,但是當你插入一個筆記時,有一列名爲ACL的列,它顯示的是什麼值。 – Maul

回答

1

其實我有另外一個簡單的解決方案:

不需要創建額外的列。你可以簡單地使用這個:

PFObject *privateNote = [PFObject objectWithClassName:@"Note"]; 
privateNote[@"content"] = @"This note is private!"; 
privateNote.ACL = [PFACL ACLWithUser:[PFUser currentUser]]; 
[privateNote saveInBackground]; 


PFQuery *query = [PFQuery queryWithClassName:@"Note"]; 
NSArray *usersNote = [query findObjects]; 
NSLog(@"%@",usersNote); 

它會自動檢索私人筆記。

3

你有一個添加更多的列在名爲「user」的筆記類中,它會在表中創建用戶指針。

PFObject *privateNote = [PFObject objectWithClassName:@"Note"]; 
privateNote[@"content"] = @"This note is private!"; 
privateNote[@"user"] = [PFUser currentUser]; 
privateNote.ACL = [PFACL ACLWithUser:[PFUser currentUser]]; 
[privateNote saveInBackground]; 

而當你想要檢索這些都與該用戶的所有筆記,那麼你可以使用以下上面排列U可以得到記錄代碼

PFQuery *query = [PFQuery queryWithClassName:@"Note"]; 
[query whereKey:@"user" equalTo:[PFUser currentUser]]; 
NSArray *usersNote = [query findObjects]; 
NSLog(@"%@",usersNote); 

希望這對你有幫助。

+0

@Tariq你試過了嗎? – Maul

+0

是的,我得到了問題。其實我錯誤地應用了我的查詢。而不是queryWithClassName我正在使用PFUser查詢。感謝您的幫助 – Tariq

+0

請在下面檢查我的答案。我們真的不需要額外的專欄。 – Tariq