1

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

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

为什么更新用户,即 [user saveInBackground] 会更新该用户的 PFRelation 字段“喜欢”?这是使用单个 API 调用还是 [relation addObject: post]; 还需要 API 调用?

任何帮助将不胜感激。

谢谢

4

1 回答 1

2

在您的情况下,使用 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 设置属性或属性,但在您保存它之前什么都不会发生,您可以对对象执行任何操作,例如更改它、更新它,没关系,但后端明智,除非您告诉它,否则它不会更新它是 save 发挥作用的地方:

[myComment saveInBackground];

简而言之,您可以整天添加关系、指针和众多参数,但在您告诉它发生之前什么都不会发生:[saveInBackground];

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

于 2015-01-12T06:26:23.683 回答