如何使用Parse与iOS共享另一个用户的对象?

时间:2013-02-26 23:01:43

标签: ios objective-c xcode facebook parse-platform

我已经在parse.com上挖掘了一些教程,我对用户创建对象并将其存储在Parse中没有任何问题。

我不知道该怎么办是将一个对象传递给另一个用户。因此,例如,如果我有自己的用户列表,并且朋友想要添加到其他用户的待办事项列表,我将如何进行此操作?因此,一个用户将创建对象:

PFObject *task = [PFObject objectWithClassName:@"ToDo"];
[task setObject:@"Do the dishes" forKey:@"userName"];
[task save];

但是我希望这个用户将任务传递给他们的朋友,所以当他们的朋友启动应用程序时,他们会看到任务已添加到他们的列表中。

我也在使用Facebook SDK,所以如果有什么可以提供帮助,我可以使用它。

之前我没有使用过Core Data,所以我希望能够处理很多后端工作,因此我可以暂时避开学习曲线。

感谢所有帮助

我想补充一点,我不一定要寻找“答案”。我之前没有做过这样的事,我不知道在哪里看。

3 个答案:

答案 0 :(得分:5)

您想要使用用户指针&用于此的ACL。

// assume PFUser *assigned 
PFACL *acl = [PFACL ACLWithUser:PFUser.currentUser];
[acl setReadAccess:YES forUser:assigned];
PFObject *todo = [PFObject objectWithClassName:@"Todo"];
todo[@"task"] = @"Wash dishes";
todo[@"user"] = assigned;
todo.ACL = acl;
[todo saveInBackground];

现在,您可以使用

查看所有TODO
[PFQuery queryWithClassName:@"Todo"];

您可以使用

查看分配给您的所有查询
[query whereKey:@"user" equalTo:PFUser.currentUser];

只有TODO的创建者才能编辑它。

答案 1 :(得分:0)

这里似乎有很多关系:用户可以拥有许多待办事项对象,许多用户可以拥有待办事项对象。

可以使用PFRelation对象处理这种方法。请查看官方博客文章:http://blog.parse.com/2012/05/17/new-many-to-many/

答案 2 :(得分:0)

在这种情况下,我不会将它作为多对多关系处理。

创建todo对象的人应该是唯一的所有者。您可以向todo对象添加属性,它的类型可以是数组。然后,阵列可以跟踪它与谁共享。如果与之共享的人将其删除,则可以将其从阵列中删除,或者如果所有者删除它,则只能删除该对象。