title: How to use delegates to communicate data from a custom cell to a label in the parent view
body: <p>I have figured out how to pass data between views with delegates in other situations but this one is stumping me.  </p>
  
  <p>In this example I am trying to send data resulting from pressing a button, up to the label using a delegate pattern but without any success.  My guess is that I am missing something fundamental here and I haven't found any examples that deal with delegates in quite this way.</p>
  
  <pre><code>//
  //  ViewController.swift
  //  TableCellDelegate
  //
  //  Created by Chris Cantley on 6/1/15.
  //  Copyright (c) 2015 Chris Cantley. All rights reserved.
  //
  
  import UIKit
  
  class ViewController: UIViewController, CellInfoDelegate {
  
      var cellViewController = CellViewController()
  
      //The place to put the number into.
      @IBOutlet weak var sumLabel: UILabel!
  
      override func viewDidLoad() {
          super.viewDidLoad()
          cellViewController.delegate = self
      }
  
      //2)...to here.
  
      func processThatNumber(theNumber: Int) {
          println("out : \(theNumber)")
      }
  }
  
  
  // Table View delegates
  extension ViewController: UITableViewDataSource, UITableViewDelegate
  {
  
      //One row
      func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -&gt; Int {
          return 1
      }
  
      // Load custom cell
      func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -&gt; UITableViewCell {
          let cell = tableView.dequeueReusableCellWithIdentifier("thisCustomCell", forIndexPath: indexPath) as! CellViewController
          return cell
      }
  
  }
  
  
  //-------------------- Protocol for Delegate -----------------------
  
  protocol CellInfoDelegate {
      func processThatNumber(theNumber: Int)
  }
  
  
  
  //-------------------- Cell to Pass info to Parent -----------------------
  
  class CellViewController: UITableViewCell{
  
      var sumNumber: Int = 0
      var delegate: CellInfoDelegate?
  
  
      @IBAction func addButton(sender: AnyObject) {
  
          // increment that number
          self.sumNumber += 5
  
          //1) I want to get it from here...... but delegate ends up nil
          if let delegate = self.delegate {
              delegate.processThatNumber(self.sumNumber)
          }
  
  
          //Shows that the number is incrementing
          println(sumNumber)
  
      }
  }
  </code></pre>
  
  <p><img src="https://i.stack.imgur.com/L00Uo.png" alt="enter image description here"></p>
  
  <p>The ViewController and CellViewController are connected to their respective classes</p>
  
  <p>Thanks in advance.</p>