         }
     }
 
-    func registerNib<T: UITableViewCell where T: Reusable>(aNib: UINib, aClass: T.Type, type: Type) {
+    func registerNib<T: UIView where T: Reusable>(aNib: UINib, aClass: T.Type, type: Type) {
         switch (type) {
         case .Cell:
             registerNib(aNib, forCellReuseIdentifier: T.reuseIdentifier)

        }
    }

    func dequeueReusableCell<T: UITableViewCell where T: Reusable>(aClass: T.Type, type: Type) -> T {
        switch (type) {
        case .Cell:
            return dequeueReusableCellWithIdentifier(T.reuseIdentifier) as! T

            return dequeueReusableHeaderFooterViewWithIdentifier(T.reuseIdentifier) as! T
        }
    }
}
