2015-11-25 7 views
7

Değişiklikleri, özel bir nesnenin Notes'un metin alanına UITextView ile eşlemek için aşağıdakileri yapabilirim.RxSwift Yolu UITextView'in Metnini Özel Nesnenin Metin alanına Eşlemek ve Bağlamak İçin?

self.notesViewModel.currentNote() 
      .map { $0.text } 
      .bindTo(self.notesTextView.rx_text) 

Aynı tür deseni kullanarak tersi nasıl yapabilirim? Desen notesTextView.rx_text, geçerli nota metniyle eşleyin. Ben UITextView (aka notesTextView), harita alın ve geçerli nota değişiklikleri bağlamak mümkün olmalıdır gibi görünüyor,

_ = notesTextView.rx_text.subscribeNext { someText in 
    self.notesViewModel.currentNote().value.text = someText 
} 

IOW: Ben olmayan RxSwift-y hissediyor aşağıdakileri nasıl yapılacağını biliyorum. Geçerli not, bir metin dizesi alanına sahip bir Not ile bir Değişken verir.

cevap

11

<-> iki yönlü ciltleme işlecini kullanabilirsiniz. Güzel bir example in the RxSwift repo var

, burada bir kullanım örnek: Ben gönderdiğiniz bir TextField ve farklı türde değişken arasındaki bu yapmak için gerekli

// bind UI values to variables 
usernameOutlet.rx_text <-> username 
passwordOutlet.rx_text <-> password 
repeatedPasswordOutlet.rx_text <-> repeatedPassword 
+0

Mükemmel bir operatördür ve işaret edilmeye devam edilir. İçeren GitHubSignupViewController dosyasına bir bağlantı sağlayan büyük iş. . – finneycanhelp

+1

yerine işlevini koyduktan sonra, ben <-> self.notesViewModel.currentNote() metin notesTextView.rx_text denedim ve hatayı alıyorum: "RxSwift için beklenen argüman türüne 'ControlProperty <_>' – finneycanhelp

+0

türünün değerini 'ControlProperty ' dönüştürülemez 2.2: https://github.com/ReactiveX/RxSwift/blob/master/RxExample/RxExample/Operators.swift#L20 – thierryb

İlgili konular