setObjectId不起作用

时间:2013-11-04 19:58:18

标签: parse-platform

我想知道是否可以在使用parse创建项目时分配id:

ParseObject parseWord = new ParseObject(DataBaseHelper.TABLE_WORD);
            parseWord.setObjectId(idRow);
            parseWord.put(Word.NAME, word.getName());
            parseWord.put(Word.TYPE, word.getType());
            parseWord.put(Word.TRANSLATE, word.getTranslate());
            parseWord.put(Word.EXAMPLE, word.getExample());
            parseWord.put(Word.NOTE, word.getNote());
            parseWord.put(Word.SYNC_AT, today);
            parseWord.saveInBackground();

此代码无效,它不会保存服务器中的项目。如果我删除了setObjectId(idRow);有用。我做错了什么?。

无论如何都知道saveInBackground何时完成?

由于

1 个答案:

答案 0 :(得分:1)

根据ParseObject.setObjectID()API doc:

  

设置对象ID。通常,您不需要使用它。   但是,在某些情况下,这可能很方便。例如,如果你是   您可以自己序列化ParseObject并希望重新创建它   使用它来完全重新创建ParseObject。

同样来自API doc:

  

只要将对象保存到服务器,就会分配对象ID。

正如引言所暗示的那样,您可能需要设置对象ID,如果您希望执行诸如将解析对象的字段保存到文件之类的操作。如果你想从你的文件中取出字段并重新创建一个解析对象,那么你需要设置它,因为如果你没有将它保存到服务器而只是使用对象的实例申请内部的目的。