0

我正在尝试使用 Bond 将 UI 元素绑定到我的视图模型。当我尝试将 searchTextField 绑定到我的视图模型 searchString 时,Xcode 8.3.3 给我一个“调用中的参数标签不正确(有 'to:',预期的 'signal:')”错误。怎么了?

import UIKit
import Bond
import ReactiveKit

class SearchViewModel {
   let searchString = Observable<String>("")
}

class SearchViewController: UIViewController {

   @IBOutlet weak var searchTextField: UITextField!

   let viewModel = SearchViewModel()

   override func viewDidLoad() {
      super.viewDidLoad()
      bindToViewModel()
   }

   func bindToViewModel() {
      searchTextField.reactive.text.bind(to: viewModel.searchString)
   }
}
4

1 回答 1

0

问题是:

let searchString = Observable<String>("")

需要是:

let searchString = Observable<String?>("")

因为UITextField: BindableProtocol { public func bind(signal: Signal<String?, NoError>) -> Disposable { return reactive.text.bind(signal: signal) } }期望 3stud1ant3 指出的可选。

于 2017-09-07T17:09:25.360 回答