 public class FetchedTableViewController: UIViewController, UITableViewDataSource, UITableViewDelegate, NSFetchedResultsControllerDelegate {
     @IBOutlet public var tableView: UITableView!
     private var fetchedController:NSFetchedResultsController!
-
-    override public func viewDidLoad() {
-        super.viewDidLoad()
-
+    
+    public override func viewWillAppear(animated: Bool) {
         if fetchedController != nil {
             return
         }

    public func createFetchedController() -> NSFetchedResultsController {
        fatalError("Need to override \(__FUNCTION__)")
    }
}

    
    public func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCellWithIdentifier(FetchedTableCellIdentifier)!
        let object = fetchedController.objectAtIndexPath(indexPath)
        configureCell(indexPath, cell: cell, object: object)
        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 setPresentationCellNib(nib:UINib) {
