awesome-ios-developer/Helper/AlertProtocol.swift
Jungpyo Hong 4adb7bac8f
added helper file
image picker, call, message, email, alertProtocol
2021-04-22 05:02:55 -05:00

46 lines
1.2 KiB
Swift

//
// AlertProtocol.swift
// VariousManagerDemoApp
//
// Created by JungpyoHong on 4/21/21.
//
import UIKit
enum AlertButton: String {
case ok
case cancel
case delete
case settings
}
protocol AlertProtocol: UIViewController {
func showAlert(title: String, message: String, buttons: [AlertButton], completion: @escaping (UIAlertController, AlertButton) -> Void)
}
extension AlertProtocol {
func showAlert(title: String, message: String, buttons: [AlertButton] = [.ok], completion: @escaping (UIAlertController, AlertButton) -> Void) {
let alert = UIAlertController(title: title, message: message, preferredStyle: .alert)
buttons.forEach { button in
let action = UIAlertAction(title: button.rawValue.capitalized, style: button == .delete ? .destructive : .default) { [alert, button] _ in
completion(alert, button)
}
alert.addAction(action)
}
self.present(alert, animated: true, completion: nil)
}
}
protocol CellReusable {
static var identifier: String { get }
}
extension CellReusable {
static var identifier: String {
String(describing: self)
}
}