Je ne peux pas mettre à jour un logging dans Parse; Erreur: "object introuvable pour la mise à jour (Code: 101, Version: 1.2.16)"

J'utilise Parse comme mon backend pour l'une de mes applications iOS natives. Je ne suis pas en mesure de mettre à jour un logging sur une table dans Parse. D'abord j'interroge l'object que je veux le mettre à jour. Donc, le tableau "objects" returnne 1 logging mais quand je veux le mettre à jour, j'obtiens l'erreur suivante;

"Objet introuvable pour la mise à jour (Code: 101, Version: 1.2.16)"

Alors, que pensez-vous que je ne peux pas mettre à jour un logging dans Parse? (Ci-dessous est mon code)

Merci, E.

PFQuery *query = [PFQuery queryWithClassName:@"askedFriends"]; [query whereKey:@"questionID" equalTo:aqDt.questionID]; [query whereKey:@"fbID" equalTo:FbId]; [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) { NSArray *postArray = objects; PFObject *post = postArray.lastObject; [post setObject:@"sentReply" forKey:btnSelection]; [post saveInBackground]; } 

J'ai eu le même problème, Et c'était la colonne ACL pour cette table de class spécifique. Assurez-vous d'avoir quelque chose comme ça dans votre colonne ACL

 {"*":{"read":true},"tyb5CcKwBU":{"write":true,"read":true}} 

Les "*" permettent la lecture à tout le monde. Vous pouvez définir le côté client en utilisant quelque chose comme

 ParseACL acl = new ParseACL(<YourObject>); acl.setPublicReadAccess(true); 

Le code d'erreur 101 dans Parse signifie:

101: L'object n'existe pas ou a un mot de passe incorrect.

Évidemment, votre object existe puisque postArray renvoie 1 logging, donc nous devrions regarder quelque chose lié au mot de passe. Peut-être que votre object "requestedFriends" a un object PFACL qui désactive l'édition de cet object si vous n'êtes pas connecté avec le PFUser associé.

Sur le site Web Parse, allez dans Dashboard, puis Data Browser et select votre class "askedFriends".

Il y a une colonne ACL, vous devriez le vérifier.

L'erreur: "object introuvable pour la mise à jour (Code: 101, Version: 1.2.16)" ajoute lorsque vous essayez d' save un object que l'user n'a pas access à la list de contrôle d'access .

Pour permettre à l'user de modifier l'object, vous devez définir l'autorisation PFACL lorsque vous créez l'object:

Pour un user spécifique:

 PFObject *object = /*the object you want to save*/ NSSsortingng *userID = /*the objectID of the user you want to let perform modifications later*/ PFACL *groupACL = [PFACL ACL]; [groupACL setWriteAccess:YES forUserId:userID]; object.ACL = groupACL; 

Pour tous les users:

 PFObject *object = /*the object you want to save*/ PFACL *groupACL = [PFACL ACL]; [groupACL setPublicWriteAccess:YES]; object.ACL = groupACL; 

L'utilisation de createWithoutData pour définir l'object référencé m'a aidé à résoudre ce problème.

 myObject.put("item", ParseObject.createWithoutData(<SUB CLASS>.class, <Your object item>)); myObject.saveInBackground(); 

J'ai corrigé ce problème en changeant la string ACL sur les objects d'parsing que je veux pouvoir modifier à la suivante et cela a résolu mon problème:

 {"*":{"read":true,"write":true}} 

J'espère que cela pourra aider.