解析对象ID问题

时间:2014-08-05 10:17:06

标签: parse-platform objectid

ParseObject parseObject = new ParseObject("GameData");
parseObject.setObjectId("id-111"); // it won't work

所以我创建了自己的id:

parseObject.add("id","id-111");

但是当我尝试更新同一个id的数据时,它会为它创建不同的不同条目。
一个解决方案,我可以获取该ID的ParseObject,然后更新该获取的对象 但它需要2个网络操作。

还有其他解决办法吗?

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。 :)