title: Cannot assign a value of type ViewController to a value of type UITextFieldDelegate?
body: <p>Here's the error when I wrote the line <code>self.MessageTextField.delegate = self</code>:</p>
  
  <blockquote>
    <p>/ChatApp/ViewController.swift:27:42: Cannot assign a value of type 'ViewController' to a value of type 'UITextFieldDelegate?'</p>
  </blockquote>
  
  <p>Here's my Swift code (ViewerController.swift):</p>
  
  <pre><code>//
  //  ViewController.swift
  //  ChatApp
  //
  //  Created by David Chen on 15/4/12.
  //  Copyright (c) 2015年 cwsoft. All rights reserved.
  //
  
  import UIKit
  import Parse
  
  class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
  
      var messagesArray:[String] = [String]()
  
      @IBOutlet weak var MessageTableView: UITableView!
      @IBOutlet weak var ButtonSend: UIButton!
      @IBOutlet weak var DockViewHeightConstraint: NSLayoutConstraint!
      @IBOutlet weak var MessageTextField: UITextField!
  
      override func viewDidLoad() {
          super.viewDidLoad()
          //
          self.MessageTableView.delegate = self
          self.MessageTableView.dataSource = self
          //Set delegate
          self.MessageTextField.delegate = self
  
          self.messagesArray.append("Test 1")
          self.messagesArray.append("Test 2")
          self.messagesArray.append("Test 3")
      }
  
      @IBAction func ButtonSendPressed(sender: UIButton) {
          self.view.layoutIfNeeded()
          UIView.animateWithDuration(0.5, animations: {
              self.DockViewHeightConstraint.constant = 400
              self.view.layoutIfNeeded()
              }, completion: nil)
      }
  
      //MARK : TextField Delegage Methods
  
  
      //MARK : Table View Delegate Methods
  
      func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -&gt; UITableViewCell {
          let cell = self.MessageTableView.dequeueReusableCellWithIdentifier("MessageCell") as! UITableViewCell
          cell.textLabel?.text = self.messagesArray[indexPath.row]
          return cell
      }
  
      func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -&gt; Int {
          return messagesArray.count
      }
  }
  </code></pre>