目标c -我如何与另一个用户共享一个对象使用Parse与iOS



我在parse.com上钻研了一些教程,用户创建对象并将其存储在Parse中,我没有遇到问题。

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

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

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

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

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

谢谢你的帮助

我想补充一点,我不一定在寻找一个"答案"。我只是以前没做过这样的事,所以我不知道该去哪里找。

你想使用用户指针&

// 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];
现在,你可以看到所有带有 的待办事项
[PFQuery queryWithClassName:@"Todo"];

你可以看到所有分配给你的查询

[query whereKey:@"user" equalTo:PFUser.currentUser];

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

你这里似乎有一个多对多的关系:一个用户可以拥有多个todo对象,一个todo对象可以由多个用户拥有。

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

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

创建todo对象的人应该是唯一的所有者。你可以给todo对象添加一个属性,它的类型可以是一个数组。然后,数组可以跟踪与它共享的人。如果它的共享对象被删除了,你可以将其从数组中删除,或者如果它的所有者删除了它,对象也可以被删除。

最新更新