title: fatal error: unexpectedly found nil while unwrapping an Optional value while filtering
body: <p>I created a <code>TableViewController</code> to filter results from a CoreData database and I'm encountering this error when I attempt to implement the filter with the following <code>IBAction</code>. I've dug through the code checking for typos and I didn't spot any. Any assistance in figuring this out would be greatly appreciated, as I'm newish to programming:</p>
  
  <pre><code>fatal error: unexpectedly found nil while unwrapping an Optional value
  
  @IBAction func saveButtonTapped(sender: UIBarButtonItem) {
      println("saveButtonTapped")
      delegate!.filterViewController(self,
          didSelectPredicate: selectedPredicate,
          sortDescriptor: selectedSortDescriptor)
  
      dismissViewControllerAnimated(true, completion:nil)
  }
  </code></pre>
  
  <p><img src="https://i.stack.imgur.com/dLj7R.png" alt="Error">
  <img src="https://i.stack.imgur.com/M1cIm.png" alt="Error"></p>
  
  <p>Here's the code for the TVC class:</p>
  
  <pre><code>import UIKit
  import CoreData
  
  protocol FilterViewControllerDelegate: class {
      func filterViewController(filter: RollerFilterViewController,
          didSelectPredicate predicate:NSPredicate?,
          sortDescriptor:NSSortDescriptor?)
  }
  
  class RollerFilterViewController: UITableViewController {
  
  // outlet connected to cell on storyboard
      @IBOutlet weak var shoulderCell: UITableViewCell!
  // Variables for filter
  weak var delegate: FilterViewControllerDelegate?
  var selectedSortDescriptor: NSSortDescriptor?
  var selectedPredicate: NSPredicate?
  var coreDataStack: CoreDataStack!
  
  lazy var shoulderPredicate: NSPredicate = {
      var predicate = NSPredicate(format: "stretch.muscleGroup contains[cd] %@", "shoulder")
      return predicate!
      }()
  
  // MARK - UITableViewDelegateMethods
  override func tableView(tableView: UITableView,
      didSelectRowAtIndexPath indexPath: NSIndexPath) {
  
          let cell = tableView.cellForRowAtIndexPath(indexPath)!
  
          switch cell {
              // cases for muscle groups
          case shoulderPredicate:
              selectedPredicate = shoulderPredicate
          default:
              println("default case")
          }
          if cell.accessoryType == .Checkmark {
              cell.accessoryType = .None
              println("removed checkmark")
          } else {
              cell.accessoryType = .Checkmark
              println("set to checkmark")
          }
  }
  // MARK - UIButton target action
  
  @IBAction func saveButtonTapped(sender: UIBarButtonItem) {
      println("saveButtonTapped")
      delegate!.filterViewController(self,
          didSelectPredicate: selectedPredicate,
          sortDescriptor: selectedSortDescriptor)
  
      dismissViewControllerAnimated(true, completion:nil)
  }
  }
  </code></pre>