我正在尝试使用Parse LiveQueries。我使用此Parse“ Bootstrap”:“ https://github.com/parse-
community/parse-server
”,
我可以看到日志:info: Create new client: 1
,
但是尽管我已经订阅了,但我没有在查询中得到更新。它甚至没有到达的处理程序subscription.handle
。
config.json
:
{
"appId": "",
"masterKey": "",
"appName": "",
"cloud": "./cloud/main",
"databaseURI": "",
"publicServerURL": "",
// Relevant
"startLiveQueryServer": true,
"liveQuery": {
"classNames": ["Channel"]
},
}
AppDelegate.swift
:
// Initialize Parse.
let configuration = ParseClientConfiguration {
$0.applicationId = self.PARSE_APP_ID
$0.server = self.PARSE_SERVER
}
Parse.initialize(with: configuration)
AppDelegate.liveQueryClient = ParseLiveQuery.Client()
The Subscription Code
(iOS Swift):
public static func listenSubscribedChannels(handler: @escaping (_ channel: Channel) -> Void) {
var subscription: Subscription<PFObject>?
let query: PFQuery<PFObject> = PFQuery(className: "Channel").whereKey("subscribers", containedIn: [PFUser.current()!.objectId])
subscription = AppDelegate.liveQueryClient!.subscribe(query).handle(Event.updated) { _, channel in
handler(channel)
}
}
这段代码的问题是您正在将该代码var subscription: Subscription<PFObject>?
放置在函数中。
该对象必须能够保留其内存地址,以便接收事件。
例如。
class SomeClass {
var objects: [PFObject] = []
var subscription: Subscription<PFObject>?
var subscriber: ParseLiveQuery.Client!
let query = PFQuery(className: "Locations")
func startListener() {
// initialize the client
subscriber = ParseLiveQuery.Client()
// initialize subscriber and start subscription
subscription = subscriber.subscribe(conversationQuery)
// handle the event listenrs.
_ = subscription?.handleEvent({ (_, event) in
switch event {
case .created(let object):
self.objects.append(object)
// do stuff
default:
break // do other stuff or do nothing
}
})
}
}
如您从这段代码中所看到的,我将变量放置在函数定义之外,以便Subscription
保留的内存地址。
GoBelieve IM云平台,iOS 端,提供了功能齐全,性能健壮,需求完善的 IM 客户端实现,和 GoBelieve IM 云平台配套。 GoBelieve IM云平台特色: 1.一小时接入。专注IM,无冗余功能 几行代码,一小时接入 省时省力。 2.自由定制。提供最新源码, 自行二次开发,业务协议 交互视觉均可根据业务需求 自由定制。 3.完全开源。国内唯一开源IM服务,所有源码在Gi
我正在使用Primefaces客户机bean验证,但它不起作用,错误消息消失,即使验证失败也会调用Listener。 示例-xhtml- 我正在使用-Primefaces 4 Jsf 2.2.6(mojarra)tomcat 7 请帮帮我。谢了。
Socket.IO 的开源 iOS 客户端,使用 swift 编写。 演示视频:http://fat.gfycat.com/EssentialBlueElectriceel.webm 使用示例: import Foundationlet socket = SocketIOClient(socketURL: "localhost:8880")socket.on("important message"
我的Google App Engine应用程序使用旧(v1)版本的Cloud Endpoint,据我在留档中看到的建议迁移到v2 Cloud Endpoint Framework。 该应用程序使用Java标准环境,是Android和iOS客户端的后端。 目前在API的开发过程中,我同时生成Android的客户端库和iOS移动应用程序的发现文档,如文档中所述: https://cloud.googl
我正在尝试像这样在客户端加密一个字符串 我试着在服务器端像这样解密。我正在使用jersey公开一个web服务。 AysmetricKeyCryptography类如下所示 当我在AsymetricKeyCryptograph类中运行main方法时,我得到了一个正确的结果,但是当我通过发送加密字符串调用Web服务时,它会抛出一个异常: 我不明白我哪里出错了
问题内容: 因此我得到了一个供女巫使用的智能表,我可以重新加载整个数据集(我需要它来绘制图形)。但我不希望一次渲染所有数据(太多)。因此,在文档中有一个叫做“客户端分页”的东西,但是由于某种原因,它似乎不起作用。保存整个数据集 我的模拟是: 问题答案: 问题在于,如果异步加载数据(如果我理解您的描述,您可能会这样做),则需要告诉智能表观看源集合,以便在发生更改时可以刷新它。为此,您需要使用