Swift上的Firebase,如果查询为空,如何获得通知?

时间:2016-07-19 07:18:50

标签: swift firebase firebase-realtime-database

您好我在swift中使用firebase,我正在尝试使用类似的查询通过用户名搜索我的用户:

InfoCenter.ref.child("users").queryOrderedByChild("username").queryEqualToValue(firstTextField.text)
            .observeEventType(.ChildAdded, withBlock: { snapshot in

这很好但我希望在查询为空时收到通知,即没有用户拥有该用户名。有人可以告诉我如何编辑我的搜索格式以允许这样做吗?谢谢!

编辑:

我的树看起来像这样:

users:{

asdfasdfkl:{

username: "bob",

highscore: "1000"

}

}

将事件类型更改为.Value时,使用snapshot.value时我不再获取adjkadfjla ID。我现在得到它下面的整个尝试

1 个答案:

答案 0 :(得分:0)

您可以检查快照是否存在,这将返回Bool

ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
PortletRequest portletRequest = (PortletRequest) externalContext.getRequest();
HttpServletRequest httpServletRequest =
    PortalUtil.getOriginalServletRequest(PortalUtil.getHttpServletRequest(portletRequest));

int itemNumber = ParamUtil.getInteger(httpServletRequest, "item_number", 0);

if (itemNumber > 0) {
    // Filter messages here based on itemNumber
}