Je suis confronté à un problème très courant avec Parse et iOS.
J'ai une classe et si l'utilisateur (déjà connecté) aime un post. Je suis tout simplement incrémentant les goûts et l'ajout d'objections de l'utilisateur à la matrice p> par exemple: User-2 aime l'utilisateur-1's's Post. P>
texte (chaîne) code> li>
image (pffile) code> li>
Likesusuers (tableau de chaîne) Code> Li>
likescount (int) code> li>
de (pointeur à l'utilisateur qui l'a posté) code> li>
ul>
PostObject.incrementKey("Likes")
PostObject.addObject((PFUser.currentUser()?.objectId)!, forKey: "LikesUsers")
PostObject.saveEventually()
3 Réponses :
des forums parse.com: P>
Lorsque vous enregistrez un objet avec un pointeur, analysez l'intégralité de l'objet et enregistre les champs «sale» (modifié depuis la dernière sauvegarde). Il inspecte également tous les objets pointés par des pointeurs. Si votre objet a un pointeur sur Pfuser et que l'instance du pfuser est «sale», l'analyse sauvegardera également l'objet, puis essayez de sauvegarder l'instance de la pfuser. Mon hypothèse est que quelque part dans votre code, vous définissez une valeur sur un utilisateur, puis ne sauvegarder pas l'utilisateur. Ceci, je soupçonne, est la source de votre erreur. Parcourez votre code et recherchez n'importe où vous définissez une instance Pfuser et assurez-vous qu'il y a une sauvegarde correspondante. Si vous ne pouvez pas le trouver à première vue, assurez-vous de vérifier tous les blocs et de vous assurer que vous n'êtes pas de sale de manière asynchrone et d'essayer de l'enregistrer. P> blockQuote>
essayez-vous d'apporter des modifications à l'utilisateur que le message a été effectué par? P>
J'ai traversé mon code et je n'essaie pas de changer de pfuser ou d'essayer de faire des changements
Essayez de définir Ceci n'est pas testé. p> Je faisais face au même problème et j'ai finalement décidé de déplacer Voici comment ma structure de classe a l'air (simplifiée): p> utilisateur p>: p> < ul>
message em>: p> i Déplacé comme / n'aime pas la logique à la fonction de codes cloud: p> fonctionne juste bien. P> P> à partir du champ code> comme: p>
goûts code> à
Utilisateur CODE> Classe et apportez-le
Relation
LikeSuSuers code> est un tableau d'objets, la performance peut chuter de manière significative si un message obtiendra beaucoup de choses: L'application téléchargera tous les utilisateurs a aimé cet article. Voir ceci pour plus d'informations: https://parse.com/docs/ios/Guide # Objets-relation-Data P>
Merci pour la fonction de cloud fourni, mais j'aimerais utiliser SavantageAventuellement avec une option hors connexion.
J'ai créé un projet à partir de zéro pour vous. Je pense que vous manquez quelque chose lorsque vous créez votre pfclass. Je ne sais pas. Tout ce qui regarde mes codes,
Ceci est le ViewController Code> et contient une touche Action forte>; P>
class Post: PFObject, PFSubclassing {
// Your Properties
@NSManaged var owner: PFUser
@NSManaged var likeCount: NSNumber
static func parseClassName() -> String {
return "Post" // Your Class Name
}
}
Non, cela ne résout pas le problème! Je pense que vous comprenez malgré la question
Si je ne me trompe pas, c'est une sorte de problème de permission que vous avez fait face. Puisque vous avez mentionné iOS, je suppose que vous faites le côté du client de la mise à jour. Comme le poste n'appartient pas à l'utilisateur actuel, il ne pourra pas l'enregistrer. Ce que vous pouvez faire est de créer une fonction de codes cloud et d'appeler cette méthode qui passe le long de l'utilisateur actuel.
Je ne peux pas faire une sauvegarde éventuellement du nuage d'analyses
Pouvez-vous élaborer plus sur pourquoi vous ne pouvez pas? Quelle est l'erreur?
Quelles ACLS avez-vous définies sur la classe _USER et ses objets? Si vous avez limité LIRE sur un niveau de classe, cela pourrait signifier que l'utilisateur connecté n'est pas en mesure de voir d'autres utilisateurs de la classe _Utiliser et tente ainsi de créer un autre utilisateur.