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

所以我创建了自己的 id:

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

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

有没有其他解决方案?

4

2 回答 2

0

@PetrV 是绝对正确的,我们不应该自己创建 objectId。

One solution is that i can fetch ParseObject for that id and then update that fetched object.

您的这种方法是正确的,我认为这是确保您更新正确 ParseObject 的唯一方法。

另一种可能的方法是通过调用然后更新匹配此 id 的对象来获取Parse 自身创建的objectId 。yourObject.getObjectId()然而,这也将涉及两个网络调用。

上面唯一可以帮助您避免的是创建一个额外的列,即 id,就像您在代码中所做的那样。:)

于 2014-08-08T13:33:14.273 回答
0

您不需要提前设置 objectId,parse 会以正确的格式为您完成,例如 "MBcQomMdzU" ,如果您事先知道对象的 ID,您只需设置它们,因为新对象让平台完成工作。

如果您提前设置 objectId,您正在创建对具有空数据字段的现有对象的引用,您可以使用这些对象,但您仍然需要告诉它获取数据字段,诸如 fetch、fetchIfneeded、fetchInBackgroundWithBlock 等方法可用...

于 2014-08-08T10:09:45.313 回答