我曾经在Firebase上构建我的应用程序,并且有一个方法可以监听价值更新,如下所示:
.onreadystatechange
现在我不再使用firebase了,我使用了deployd并使用Alamofire来检索JSON中的数据。我想知道Alamofire中是否有一个事件监听器可以在数据库中值发生变化时执行代码,而不是每2分钟检索一次。
感谢。
答案 0 :(得分:2)
好的,所以我发现这个名为TRVSEventSource的东西用于处理SSE事件。
所以我在添加头文件并将它们桥接后添加了以下代码:
let configs = NSURLSessionConfiguration.defaultSessionConfiguration()
configs.HTTPAdditionalHeaders = ["Accept" : "text/event-stream"]
let eventsource = TRVSEventSource(URL: NSURL(string: "https://app.firebaseio.com/about.json?auth=<Your Database Secret>"), sessionConfiguration: configs)
eventsource.delegate = self
eventsource.open()
之后使用TRVSEventSourceDelegate,我添加了这个委托来获取信息:
func eventSource(eventSource: TRVSEventSource!, didReceiveEvent event: TRVSServerSentEvent!) {
do{
let data = try NSJSONSerialization.JSONObjectWithData(event.data, options: .MutableContainers)
print(data)
}
catch let error
{
print(error)
}
}
以下内容打印出类似{
data = {
desc = "My Data";
};
path = "/";
}
这也告诉你在JSOn文件的哪个路径被编辑或添加,idk如何单独处理事物和东西,但我认为你可以处理其余的XD。不是一个好的答案,但我希望我帮助XD(第一次正确回答)