为什么通过保存 PFUser 对象来保存 PFRelation?

Why is a PFRelation saved by saving the PFUser object?

所以我无法理解 PFRelation 如何保存,我有这段代码:

PFUser *user = [PFUser currentUser];
PFRelation *relation = [user relationForKey:@"likes"];
[relation addObject:post];
[user saveInBackground];

为什么更新用户即 [user saveInBackground] 会更新该用户的 PFRelation 字段 "likes"?这是使用单个 API 调用还是 [relation addObject: post];还需要一个 API 电话吗?

如有任何帮助,我们将不胜感激。

谢谢

您的情况下使用了 1 API 请求。

看看 PFObject [直接来自 Parse.com]:

// Create the post
PFObject *myPost = [PFObject objectWithClassName:@"Post"];
myPost[@"title"] = @"I'm Hungry";
myPost[@"content"] = @"Where should we go for lunch?";

// Create the comment
PFObject *myComment = [PFObject objectWithClassName:@"Comment"];
myComment[@"content"] = @"Let's do Sushirrito.";

// Add a relation between the Post and Comment
myComment[@"parent"] = myPost;

此处您正在为 PFObject 设置属性或属性,但在您保存它之前什么也不会发生,您可以对对象执行任何操作,例如更改它、更新它,这无关紧要,但后端明智,它不会'除非你告诉它保存在哪里,否则不会更新:

[myComment saveInBackground];

简而言之,您可以整天添加关系、指针和无数参数,但除非您告诉它发生,否则什么也不会发生:[saveInBackground];

因为您将其与用户直接相关,所以它会将其保存给该用户,因为您告诉它这样做。因为您指定了与用户的关系,所以一旦您保存了用户属性,该关系也将被保存。但是,这不会创建更多 API 请求。