理由はわかりませんが、この$ 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)
エラーがあります
致命的なエラー:削除されたメソッドの呼び出し
searchTerm
がクラスまたはそのスーパークラスで宣言されている場合、final
としてマークします。私の経験では、これはこの問題を常に修正しています。
私の理論は、Swiftはルックアップテーブルのどのフィールドが$searchTerm
は参照しているため、クラッシュします。 final
としてマークすると、静的にディスパッチされます。これが実際に真実であるかどうかはわかりません。もし誰かが主題についてより多くの知識を持っている場合はコメントを書き込んでください。答えを更新します。