如何与其他用户使用Parse with iOS共享对象?

问题描述:

我已经挖掘了parse.com上的一些教程,并且我没有创建对象并将它们存储在Parse中的问题。如何与其他用户使用Parse with iOS共享对象?

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

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

,但我想这个用户的任务传递给他们的朋友,所以当他们的朋友启动应用程序,他们看到任务添加到他们的名单。

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

我之前没有使用Core Data,所以我希望能够解析很多后端工作,所以我可以暂时避免学习曲线。

感谢所有帮助

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

您想为此使用用户指针& 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]; 

现在,你可以看到所有待办事项与

[PFQuery queryWithClassName:@"Todo"]; 

你可以看到被分配给您

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

,只有TODO的创建者可以编辑所有查询。

+0

上查看博客文章如果我想为几个用户分配TODO,那么它有可能吗? – 2014-08-21 20:50:03

看起来您在这里拥有多对多的关系:用户可以拥有很多待办事项对象,并且待办事项对象可以由许多用户拥有。

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

+0

这可以工作。唯一的情况是,制作待办事项的初始用户将其发送给他/她的朋友。该项目现在是他们的朋友,只有他们的朋友才能看到。但是,我也只能将其设为只读,以便朋友不能“删除”发送给他们的待办事项任务。我会看看PFRelation对象!谢谢! – STANGMMX 2013-02-26 23:16:24

+0

如果您想控制删除,您也可以使用beforeDelete云代码触发器手动阻止它。在http://blog.parse.com/2013/08/22/deleting-objects/ – 2014-08-22 17:18:15

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

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