就像标题一样,我想问一下它们之间有什么区别
fromPin()
Run Code Online (Sandbox Code Playgroud)
和
fromLocalDatastore()
Run Code Online (Sandbox Code Playgroud)
顺便说一下,Pin和datastore有两个术语.两个人之间有什么区别?
谢谢.
The*_*ted 11
稍有不同,您可以从文档和Parse库的反编译代码中看到它(好吧,最后一个更复杂......).
文档说:
fromLocalDatastore():将此查询的源更改为所有固定对象.
fromPin():将此查询的源更改为默认的固定对象组.
在这里,您可以看到,在Parse上,有一种方法可以从整个固定数据集中获取所有对象,无需过滤器,也可以从所谓的"默认组"中获取.该组在Parse代码中使用以下字符串定义:( _default o'rly?).
当你使用pinInBackground固定东西时,你可以用不同的方式做到:
pinInBackground()[不带参数]:存储对象及其指向本地数据存储区的每个对象.
这就是文档所说的,但是如果你看一下代码,你会发现这个引脚实际上会被执行到...... _default组!
public Task<Void> pinInBackground() {
return pinAllInBackground("_default", Arrays.asList(new ParseObject[] { this }));
}
Run Code Online (Sandbox Code Playgroud)
另一方面,您始终可以调用pinInBackground(String group)以指定精确的组.
结论:每次固定一个对象时,都可以保证固定到某个组.如果您未在参数中指定任何内容,则该组为"_default".如果您将对象固定到自定义组"G",则使用的查询fromPin()将无法找到它!因为你没有把它放在"_default"上,而是"G".
相反,使用fromLocalDatastore(),查询保证找到您的对象,因为它将搜索"_default","G"等.
| 归档时间: |
|
| 查看次数: |
808 次 |
| 最近记录: |