Parse platform 在“本地数据存储”一章中,选择fromPin和fromlocaldatastore
就像标题一样,我想问一下两者之间的区别Parse platform 在“本地数据存储”一章中,选择fromPin和fromlocaldatastore,parse-platform,Parse Platform,就像标题一样,我想问一下两者之间的区别 fromPin() 及 顺便说一下,Pin和数据存储是两个术语。他们两个有什么不同 谢谢。有一点不同,您可以从文档和解析库的反编译代码中看到(好的,最后一个比较复杂…) 文件说: fromLocalDatastore():将此查询的源更改为所有固定对象。 fromPin():将此查询的源更改为固定对象的默认组。 在这里,您可以看到,在解析时,有一种方法可以从整个固定数据集中获取所有对象,无需过滤器,也可以从所谓的“默认组”中获取。该组在解析代码中使用以下
fromPin()
及
顺便说一下,Pin和数据存储是两个术语。他们两个有什么不同
谢谢。有一点不同,您可以从文档和解析库的反编译代码中看到(好的,最后一个比较复杂…) 文件说: fromLocalDatastore():将此查询的源更改为所有固定对象。 fromPin():将此查询的源更改为固定对象的默认组。 在这里,您可以看到,在解析时,有一种方法可以从整个固定数据集中获取所有对象,无需过滤器,也可以从所谓的“默认组”中获取。该组在解析代码中使用以下字符串定义:
\u default
(o'rly?)
当您使用pinInBackground固定某物时,您可以使用不同的方式:
pinInBackground()[无参数]:将对象及其指向的每个对象存储在本地数据存储中
这是文档中说的,但是如果你看代码,你会发现pin实际上会被执行到<代码>\默认值组
public Task<Void> pinInBackground() {
return pinAllInBackground("_default", Arrays.asList(new ParseObject[] { this }));
}
公共任务pinInBackground(){
返回pinAllInBackground(“_default”,Arrays.asList(newparseobject[]{this}));
}
另一方面,您可以随时调用pinInBackground(字符串组)
来指定精确的组
结论:每次你固定一个物体,它一定会固定在一个特定的组上。如果未在参数中指定任何内容,则该组为“\u default”。如果将对象固定到自定义组“G”,则使用fromPin()
的查询将找不到它!因为你没有把它放在“_default”上,而是放在“G”上
相反,使用fromLocalDatastore()
,查询将保证找到您的对象,因为它将搜索到“\u default”、“G”等等
public Task<Void> pinInBackground() {
return pinAllInBackground("_default", Arrays.asList(new ParseObject[] { this }));
}