ParseObject parseObject = new ParseObject("GameData");
parseObject.setObjectId("id-111"); // it won't work
所以我创建了自己的id:
parseObject.add("id","id-111");
但是当我尝试更新同一个id的数据时,它会为它创建不同的不同条目。
一个解决方案,我可以获取该ID的ParseObject,然后更新该获取的对象
但它需要2个网络操作。
答案 0 :(得分:0)
你不需要提前设置objectId,解析会以正确的格式为你做,就像" MBcQomMdzU" ,如果您事先了解对象,则只需设置对象的ID,新对象让平台完成工作。
如果您事先设置了objectId,那么您正在创建对具有空数据字段的现有对象的引用,您可以使用它,但是您仍然需要告诉它获取数据字段,可以使用fetch,fetchIfneeded,fetchInBackgroundWithBlock等方法...
答案 1 :(得分:0)
@PetrV绝对正确,我们不应该自己创建objectId。
One solution is that i can fetch ParseObject for that id and then update that fetched object.
您的这种方法是正确的,我觉得唯一的方法是确保您更新正确的ParseObject。
另一种可能的方法是通过调用yourObject.getObjectId()
来获取由Parse自己创建的 objectId ,然后更新与此id匹配的对象。但是,这也将涉及两个网络呼叫。
上面唯一能够帮助您避免的是创建一个额外的列,即您在代码中完成的ID。 :)