【问题标题】:Why is a PFRelation saved by saving the PFUser object?为什么通过保存 PFUser 对象来保存 PFRelation?
【发布时间】:2015-03-09 12:26:09
【问题描述】:

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

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

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

任何帮助将不胜感激。

谢谢

【问题讨论】:

  • 它正在更新,因为你告诉它。这就像创建一个 PFObject,在您保存对象及其属性之前什么都不会发生。您的案例使用了 1 个 API 请求
  • @soulshined 你应该发表你的评论作为答案,因为它正确回答了他的问题。

标签: ios parse-platform pfrelation


【解决方案1】:

在您的情况下,使用了 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 请求。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-11
    • 2012-02-28
    • 2013-10-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多