リファクタリングの一環で使えそうなことを、メモがてら残します。
例
let alertVC = UIAlertController(title: "select cell", message: "\(user["name"] as! String) \n \(user["atName"] as! String)", preferredStyle: .alert)
alertVC.addAction(UIAlertAction(title: "OK", style: .default, handler: nil))
self.present(alertVC, animated: true, completion: nil)
問題点
- 他で使用予定が無いのに呼び出し可能
- 色々な条件でアラートを出したい場合、汎用性が無い
private extensionにして分ける
private extension ViewController {
//アラートを出す処理
func showAlert(user: UserModel) { // UserModelというモデルがあると仮定
let alertVC = UIAlertController(title: "select cell", message: user.alertText, preferredStyle: .alert)
alertVC.addAction(UIAlertAction(title: "OK", style: .default, handler: nil))
self.present(alertVC, animated: true, completion: nil)
}
}
- private extensionにすれば、中の記述は全てprivate
- showAlert(user: user) のような形で呼び出し可能で、汎用性が増す