     return alert
   }
 
+  // Demonstrate a confirmation dialog with a custom table view.d
+  func performConfirmationDialog() -> MDCAlertController {
+    let alert = MDCAlertController(title: "Phone ringtone", message: "Please select a ringtone:")
+    alert.addAction(MDCAlertAction(title: "OK", handler: handler))
+    alert.addAction(MDCAlertAction(title: "Cancel", handler: handler))
+
+    alert.accessoryView = ExampleTableSeparatorView()
+
+    if let alertView = alert.view as? MDCAlertControllerView {
+      // Zero bottom-inset ensuring the bottom separator appears immediately above the actions.
+      alertView.contentInsets.bottom = 0
+      // Decreasing vertical margin between the accessory view and the message
+      alertView.accessoryViewVerticalInset = 8
+    }
+
+    alert.mdc_adjustsFontForContentSizeCategory = true  // Enable dynamic type.
+    alert.applyTheme(withScheme: self.containerScheme)
+    return alert
+  }
+
   // Demonstrate a custom accessory view with auto layout, presenting a label and a button.
   func performCustomLabelWithButton() -> MDCAlertController {
     let alert = MDCAlertController(title: "Title", message: nil)

    self.present(performCustomLabelWithButton(), animated: false, completion: nil)
  }

}

    case 1:
      return performUITextField()
    case 2:
      return performConfirmationDialog()
    case 3:
      return performCustomLabelWithButton()
    default:
      print("No row is selected")
