createWithoutData和Parse之间有什么区别

时间:2015-03-19 14:32:56

标签: android parse-platform

解析android文档说明了这一点:

  

对象可以与其他对象建立关系。要对此行为建模,任何ParseObject都可以用作其他ParseObjects中的值。在内部,Parse框架将把引用的对象存储在一个地方,以保持一致性。

我理解的是当我为 put

执行此操作时
firstObject =new ParseObject("A");
secondObject= new ParseObject("B");
secondObject.put("A",firstObject);

根据blockquote的最后一行,这意味着该对象不是在B中创建的,它只是将指针存储在B中(对于A)

现在这个 createwithoutdata

  

您也可以仅使用objectIds来链接对象:

// Add a relation between the Post with objectId "1zEcyElZ80" and the comment
myComment.put("parent", ParseObject.createWithoutData("Post", "1zEcyElZ80"));

这也意味着使用指针代替对象,对吗?

put和createwithoutdata之间的区别是什么?你使用每个用例的用例是什么?

修改

ParseObject parseObject=new ParseObject("TestClass");
    ParseObject parseObject1=new ParseObject("TestObject");
    parseObject.put("ps1",ParseObject.createWithoutData("TestObject",parseObject1.getObjectId()));
    parseObject.saveEventually();

每次创建新实例时......

1 个答案:

答案 0 :(得分:1)

实际上你并没有问正确的问题。 putcreateWithoutData之间的区别在于它们是完全不同的方法,完全不相关的目的。在您描述的两种情况下,您使用的是相同的put方法。不同之处在于您创建ParseObject的方式。在您的第一个示例中,我相信当您将其写入数据库时​​,它将插入B行,然后插入带有指向B的指针的A行。在第二个示例中,您使用的是Post行中的ID。已经在数据库中,并将指向该行的指针写入Comment行。