Mic*_*bro 11 xcode swift xcode11.4
我不知道为什么,但我的代码在这个 $searchTerm 发布者上崩溃了。我的代码中有很多这样的发布者,其他一切正常。它只在这个新的 Xcode 版本中不起作用,而在以前的版本中起作用。如果我评论了这一行并用 _searchTerm.projectedValue 替换它,它就会像往常一样开始工作!
_searchTerm.projectedValue
//$searchTerm
.debounce(for: .milliseconds(350), scheduler: DispatchQueue.global())
.flatMap { term in
self.search(by: term)
}
.print("searching")
.receive(on: DispatchQueue.main)
.assign(to: \.results, on: self)
.store(in: &disposables)
Run Code Online (Sandbox Code Playgroud)
我有错误
致命错误:调用已删除的方法
如果searchTerm是在您的类或其超类中声明的内容,则将其标记为final。根据我的经验,这总是可以解决这个问题。
我的理论是,Swift 无法弄清楚查找表中的哪个字段正在$searchTerm引用,因此崩溃了。as,将其标记为final将使其静态分派。我不确定这是否属实,如果有人对这个主题有更多了解,请发表评论,我会更新我的答案。
| 归档时间: |
|
| 查看次数: |
425 次 |
| 最近记录: |