     }
     
     public override func viewWillAppear(animated: Bool) {
-        if fetchedController != nil {
+        if let _ = fetchedController {
             return
         }
         
         fetchedController = createFetchedController()
-        fetchedController.delegate = self
-        tableView.reloadData()
+        fetchedController!.delegate = self
+        tableView!.reloadData()
     }
     
     public func numberOfSectionsInTableView(tableView: UITableView) -> Int {
-        guard let sections = fetchedController.sections else {
+        guard let sections = fetchedController?.sections else {
             return 0
         }
         

    }
    
    public func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        let sections:[NSFetchedResultsSectionInfo] = fetchedController.sections! as [NSFetchedResultsSectionInfo]
        return sections[section].numberOfObjects
    }
    
    public func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCellWithIdentifier(FetchedTableCellIdentifier)!
        let object = fetchedController.objectAtIndexPath(indexPath)
        configureCell(cell, atIndexPath: indexPath, object: object, forMeasuring:false)
        return cell
    }

    public func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
        tableView.deselectRowAtIndexPath(indexPath, animated: true)
        
        let object = fetchedController!.objectAtIndexPath(indexPath)
        tappedCell(indexPath, object: object)
    }
    
    public func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
        let sections:[NSFetchedResultsSectionInfo] = fetchedController!.sections! as [NSFetchedResultsSectionInfo]
        let dataSection = sections[section]
        return dataSection.name
    }
