title: Swift Combine question with UILabel subscribe
body: <pre><code>import UIKit
  import Combine
  
  class ViewController: UIViewController {
  
      @IBOutlet weak var allowMessageSwitch: UISwitch!
      @IBOutlet weak var sendButton: UIButton!
      @IBOutlet weak var messageLabel: UILabel!
  
      @Published var canSendMessages: Bool = false
      @Published var newMsg: String = ""
  
      private var switchSubscriber: AnyCancellable?
      private var btnSubscriber: AnyCancellable?
  
  
      override func viewDidLoad() {
          allowMessageSwitch.isOn = false
          super.viewDidLoad()
          setupProcesscingChain()
      }
  
      func setupProcesscingChain() {
          switchSubscriber = $canSendMessages.receive(on: DispatchQueue.main).assign(to: \.isEnabled, on: sendButton)
  
          btnSubscriber = $newMsg.receive(on: DispatchQueue.main).assign(to: \.text, on: messageLabel)
      }
  
      @IBAction func didSwitch (_ sender: UISwitch) {
          canSendMessages = sender.isOn
      }
  
      @IBAction func sendMessage( _ sender: Any) {
      }
  
  
  }
  </code></pre>
  
  <p>I am getting error in </p>
  
  <pre><code>btnSubscriber = $newMsg.receive(on: DispatchQueue.main).assign(to: \.text, on: messageLabel)
  </code></pre>
  
  <p>error msg is </p>
  
  <blockquote>
    <p>Type of expression is ambiguous without more context</p>
  </blockquote>
  
  <p>I dont understand why label does not work as Switcher (bool) </p>
  
  <p>I assume it is because <code>\.isEnabled</code> is not optional, and <code>\.text</code> is optional..??</p>
  
  <p>how can I make this work with the same format. this is for practice and to understand how Combine works.. please help!</p>