【问题标题】:iOS - Parse Creating New Object - Object Not Found For UpdateiOS - 解析创建新对象 - 找不到更新的对象
【发布时间】:2016-02-12 03:42:54
【问题描述】:

所以...这段代码几天前还在工作,但我更新了我的 Parse pod,现在我无法保存新创建的对象。该错误告诉我找不到要更新的对象,但我什至没有尝试更新现有对象 - 我正在更新它。

这是我的代码:

PFUser *owner = [self.item objectForKey:@"user"];
PFUser *lendee = [PFUser currentUser];

PFObject *newRequest = [PFObject objectWithClassName:@"ItemRequest"];
[newRequest setObject:owner forKey:@"owner"];
[newRequest setObject:lendee forKey:@"lendee"];
[newRequest setObject:self.item forKey:@"item"];

[newRequest saveInBackgroundWithBlock:^(BOOL succeeded, NSError * _Nullable error) {
    if (error) {
        NSLog(@"Error with saving: %@", error);
    } else {
        NSString *message = [NSString stringWithFormat:@"%@ has requested to borrow your %@", [lendee objectForKey:@"full_name"], [self.item objectForKey:@"title"]];
        [PFCloud callFunctionInBackground:@"sendEmailToUserWithId"
                           withParameters:@{@"userId" : owner.objectId,
                                            @"subject" : message,
                                            @"message" : message}
                                    block:^(id  _Nullable object, NSError * _Nullable error) {
                                        if (error) {
                                            NSLog(@"Failed to send email with error: %@", error);
                                        }
                                    }];
    }
}];

有什么想法吗?

【问题讨论】:

    标签: ios parse-platform


    【解决方案1】:

    几乎可以肯定,ownerself.item 是一个未保存的新对象。使用指向这些对象的指针保存 newRequest 会触发对它们的更新。然后其中一个更新失败并显示消息“找不到更新的对象”。

    记录在newRequest 上设置的所有三个值,寻找一个或多个没有objectId(这是一个很好的指标,表明它是新的)。

    【讨论】:

    • 不幸的是,所有项目都已经有一个 objectId。这个问题在我更新 Parse 后开始出现,我的数据库没有改变,所有者或 self.item 也不是新对象。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    • 2018-09-20
    • 1970-01-01
    • 2019-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多