   }()
   
   // MARK: Initialization
-  
-  override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
-    super.init(style: style, reuseIdentifier: reuseIdentifier)
+  #if swift(>=4.2)
+    override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
+      super.init(style: style, reuseIdentifier: reuseIdentifier)
+      viewSetup()
+    }
+  #else
+    override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
+      super.init(style: style, reuseIdentifier: reuseIdentifier)
+      viewSetup()
+    }
+  #endif
+
+  private func viewSetup() {
     selectionSetup()
     self.containerView.addSubview(indicatorImageView)
     contentView.addSubview(questionLabel)

    contentView.addSubview(containerView)
    addLabelConstraints()
  }
  
  required init?(coder aDecoder: NSCoder) {
    fatalError("init(coder:) has not been implemented")
  }

    if ((height) != nil) {
      return CGFloat(height as! CGFloat)
    } else {
      #if swift(>=4.2)
        return UITableView.automaticDimension
      #else
        return UITableViewAutomaticDimension
      #endif
    }
  }
  
