>我有一个快照侦听器,我想在关闭ViewController
时停止它,我知道我需要使用listener.remove()
但我想在ViewWillDisappear()
函数中调用它。
我想在我的ViewController
中声明一个变量:
var listener = ListenerRegistration?.self
然后在侦听器函数类型中:
listener = openInstanceRef?.collection("MyDishes").addSnapshotListener( ... )
但是我收到此错误:
Cannot assign value of type 'ListenerRegistration?' to type 'ListenerRegistration?.Type'
如果我尝试删除 .self 并键入 ListenerRegistration?()
而是在侦听器的声明中收到此错误:
`Cannot invoke initializer for type 'ListenerRegistration?' with no arguments`
但是swift
不会为我提供任何可以获取参数的初始化器
谢谢
Swift 中的语法是:
listener.remove()
请参阅有关删除侦听器的 Firestore 文档。
你可以像这样初始化
private var listener = ListenerRegistration!
如果它是可选的,只需删除括号
private var listener = ListenerRegistration? = nil