Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Parse with iOS与其他用户共享对象?_Ios_Objective C_Xcode_Facebook_Parse Platform - Fatal编程技术网

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

如何使用Parse with iOS与其他用户共享对象?,ios,objective-c,xcode,facebook,parse-platform,Ios,Objective C,Xcode,Facebook,Parse Platform,我在parse.com上浏览了一些教程,我对用户创建对象并将其存储在parse中没有任何问题 我不知道如何将对象传递给另一个用户。例如,如果我的用户有他们自己的待办事项列表,而一个朋友想添加到另一个用户的待办事项列表中,我该如何做呢?因此,一个用户将创建对象: PFObject *task = [PFObject objectWithClassName:@"ToDo"]; [task setObject:@"Do the dishes" forKey:@"userName"]; [task sa

我在parse.com上浏览了一些教程,我对用户创建对象并将其存储在parse中没有任何问题

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

PFObject *task = [PFObject objectWithClassName:@"ToDo"];
[task setObject:@"Do the dishes" forKey:@"userName"];
[task save];
但是我希望这个用户将任务传递给他们的朋友,这样当他们的朋友启动应用程序时,他们会看到任务添加到他们的列表中

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

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

谢谢你的帮助


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

这里似乎存在多对多关系:一个用户可以拥有多个todo对象,而一个todo对象可以由多个用户拥有


这种方法可以用PFRelation对象来处理。看看这里的官方博文:

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


这种方法可以用PFRelation对象来处理。看看这里的官方博文:

在这种情况下,我不会把它当作多对多关系来处理


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

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


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

您希望为此使用用户指针和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的创建者才能对其进行编辑。

您希望为此使用用户指针和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的创建者才能编辑它。

这可能会奏效。唯一的问题是,创建todo项目的初始用户将其发送给他/她的朋友。该待办事项现在是他们的朋友,并且只有他们的朋友才能看到。但是,我也会将其设置为只读,以便friend不能“删除”发送给他们的todo任务。不过,我要看看PFRelation对象!谢谢如果要控制删除,还可以使用beforeDelete云代码触发器手动阻止它。把这篇博文删掉可能会有用。唯一的问题是,创建todo项目的初始用户将其发送给他/她的朋友。该待办事项现在是他们的朋友,并且只有他们的朋友才能看到。但是,我也会将其设置为只读,以便friend不能“删除”发送给他们的todo任务。不过,我要看看PFRelation对象!谢谢如果要控制删除,还可以使用beforeDelete云代码触发器手动阻止它。如果我想为多个用户分配TODO,请在上查看博客文章。如果我想为多个用户分配TODO,请在上查看?