如果创建了不可删除的Google Realtime IndexReference:
myIndexRef = myCollabList.registerReference (10, false);
or
myIndexRef = myCollabString.registerReference (20, false);
然后当它的容器'删除后,IndexReference将被移位,并生成一个ReferenceShiftedEvent。
但如果它可以删除:
myIndexRef = myCollabList.registerReference (10, true);
如何检测到删除? Google Realtime API中没有明确的事件,也没有isDeleted属性或类似内容。
每个用户都可以跟踪包含字符串或列表的更改,以及每个IndexReference的移位,监听ValuesRemovedEvents或TextDeletedEvents,从而推断一个IndexReference的删除,但似乎这是一种容易出错的方法,如果那些IndexReferences是其他合作者,那么就把负担放在错误的地方。例如,编辑插入符号...一个用户可以很容易地找到他们对随后删除的IndexReference的引用。
通过扩展,如果IndexReferences位于模型中的地图中,当地图被删除时会发生什么?