1

我已经浏览了 parse.com 上的一些教程,并且我对用户创建对象并将它们存储在 Parse 中没有问题。

我不知道该怎么做是将对象传递给另一个用户。因此,例如,如果我的用户有自己的待办事项列表,而一个朋友想要添加到另一个用户的待办事项列表中,我将如何去做呢?所以一个用户会创建对象:

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

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

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

我以前没有使用过 Core Data,所以我希望通过 parse 处理很多后端工作,这样我可以暂时避免学习曲线。

感谢所有的帮助

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

4

3 回答 3

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 的创建者可以编辑它。

于 2013-02-27T21:27:33.937 回答
0

看起来你在这里有一个多对多的关系:一个用户可以拥有许多 todo 对象,而一个 todo 对象可以被许多用户拥有。

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

于 2013-02-26T23:11:51.077 回答
0

在这种情况下,我不会将其视为多对多关系。

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

于 2013-02-27T00:33:49.450 回答