iOS - 解析创建新对象 - 未找到更新对象

时间:2016-02-12 03:42:55

标签: ios parse-platform

所以...这段代码几天前就已经开始了,但我更新了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);
                                        }
                                    }];
    }
}];

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

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

记录<com.github.florent37.materialleanback.MaterialLeanBack android:id="@+id/materialLeanBack" android:layout_width="match_parent" android:layout_height="match_parent" app:mlb_background="@color/background" app:mlb_lineSpacing="30dp" app:mlb_paddingBottom="30dp" app:mlb_paddingLeft="30dp" app:mlb_paddingRight="30dp" app:mlb_paddingTop="40dp" app:mlb_titleColor="@android:color/white" /> 上设置的所有三个值,查找一个或多个没有objectId的值(这是一个很好的新指标)。