我創建一個新的PFObject,就可以設置一些對象,然後保存它,像這樣:Parse.com - 錯誤101保存時,新PFObject
// Add a new 'madeTitle' Activity Object
PFObject* madeTitleActivity = [PFObject objectWithClassName:kPAPActivityClassKey];
[madeTitleActivity setObject:aComment forKey:kWSActivityCommentKey];
[madeTitleActivity setObject:self.photo forKey:kPAPActivityPhotoKey];
[madeTitleActivity setObject:[PFUser currentUser] forKey:kPAPActivityFromUserKey];
[madeTitleActivity setObject:[aComment objectForKey:kWSCommentsFromUserKey] forKey:kPAPActivityToUserKey];
[madeTitleActivity setObject:kPAPActivityTypeMadeTitle forKey:kPAPActivityTypeKey];
// ACL's
PFACL *ACL = [PFACL ACLWithUser:[PFUser currentUser]];
[ACL setPublicReadAccess:YES];
[ACL setWriteAccess:YES forUser:[PFUser currentUser]];
madeTitleActivity.ACL = ACL;
[madeTitleActivity saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
if (succeeded) {
// ...
}
else {
NSLog(@"madeTitleActivity saveInBackgroundWithBlock -- error = %@", error);
}
}];
但我發現了以下錯誤:
2013-10-22 10:55:12.546 WSPhoto[2064:7b4b] Error: object not found for update (Code: 101, Version: 1.2.6)
2013-10-22 10:55:12.552 WSPhoto[2064:707] madeTitleActivity saveInBackgroundWithBlock -- error = Error Domain=Parse Code=101 "The operation couldn’t be completed. (Parse error 101.)" UserInfo=0x8966c0 {code=101, error=object not found for update}
我已經處理過錯誤,但它一直在更新對象和ACL問題。創建和保存新對象時,我沒有這個錯誤代碼。
我檢查了所有設置的對象,它們都返回有效的對象。
我也成功地保存了一些其他的Activity對象,並從我可以告訴代碼看起來完全一樣。
編輯:擴展的代碼包括CloudCode函數調用的madeTitleActivity代碼嵌套在
[PFCloud callFunctionInBackground:@"setCommentIsTitle"
withParameters:@{@"userID":[[PFUser currentUser] objectId],
@"objectId":[aComment objectId],
@"photoObjectId":[self.photo objectId],
@"previousCommentObjectId":[previousTitleComment objectId],
@"isTitle":[NSNumber numberWithBool:YES],
@"previousCommentObjectIsTitle":[NSNumber numberWithBool:NO]}
block:^(NSMutableDictionary *results , NSError *error) {
if (!error) {
// Add a new 'madeTitle' Activity Object
PFObject* madeTitleActivity = [PFObject objectWithClassName:kPAPActivityClassKey];
[madeTitleActivity setObject:aComment forKey:kWSActivityCommentKey];
[madeTitleActivity setObject:self.photo forKey:kPAPActivityPhotoKey];
[madeTitleActivity setObject:[PFUser currentUser] forKey:kPAPActivityFromUserKey];
[madeTitleActivity setObject:[aComment objectForKey:kWSCommentsFromUserKey] forKey:kPAPActivityToUserKey];
[madeTitleActivity setObject:kPAPActivityTypeMadeTitle forKey:kPAPActivityTypeKey];
// ACL's
PFACL *madeTitleACL = [PFACL ACLWithUser:[PFUser currentUser]];
[madeTitleACL setPublicReadAccess:YES];
[madeTitleACL setWriteAccess:YES forUser:[PFUser currentUser]];
madeTitleActivity.ACL = madeTitleACL;
[madeTitleActivity saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
NSLog(@"madeTitleActivity saveInBackgroundWithBlock -- called");
if (succeeded) {
// ..
}
else {
NSLog(@"madeTitleActivity saveInBackgroundWithBlock -- error = %@", error);
}
}];
}
else {
NSLog(@"etCommentIsTitle PFCloud -- error = %@", error);
}
}];
'aComment'和'photo'是什麼? – Wain
aComment是一個現有的PFObject,與照片一樣。 – Ramsel