 
     public override func encodeWithCoder(aCoder: NSCoder) {
         super.encodeWithCoder(aCoder)
-        aCoder.encodeInteger(cellCreationType.rawValue, forKey: "CellCreationType")
+        aCoder.encodeInteger(cellCreationType.rawValue, forKey: TableViewController.creationTypeKey)
     }
 
     /**


import UIKit

public class TableViewController<ContentType>: UITableViewController, CellsControllerProtocol {

    private var heightCache: [NSIndexPath: CGFloat] = [:]

    private var cellsObjectsCreators: [String: ViewsGenerator<UITableViewCell>] = [:]

    private let cellCreationType: CellCreationType

    // MARK: - Initialization


    }

    public required init?(coder aDecoder: NSCoder) {
        if let cellCreationType = CellCreationType(rawValue: aDecoder.decodeIntegerForKey(TableViewController.creationTypeKey)) {
            self.cellCreationType = cellCreationType
            super.init(coder: aDecoder)
        } else {
