iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 23
0
Mobile Development

《菜鳥のSwift》持續30天開發挑戰系列 第 23

《DAY 23》模組化 UIAlertController

在之前的文章裡有使用過提示框(UIAlertController),但是有時候我們要在很多地方都使用到,只是改變裡面的文字而已,難道就要每次都加入一長串的程式碼嗎?
https://ithelp.ithome.com.tw/upload/images/20201006/20129680pWD6aHs4e2.png
看看上面的程式,多麼煩躁啊!

有一個模組化的作法可以幫我們精簡程式碼,先新建一個檔案,寫成下面這樣子,只需把要改變的地方用參數傳入,其中 UIViewController 是必需的。

import UIKit

class CustomAlert {
    class func Alert (target: UIViewController, message: String) {
        let alertController = UIAlertController(
            title: "提示",
            message: message,
            preferredStyle: .alert
        )
        let okAction = UIAlertAction(
            title: "確認",
            style: .default,
            handler: nil
        )
        alertController.addAction(okAction)
        target.present(alertController, animated: true, completion: nil)
    }
}

原先寫好的程式可以改成下面這樣,是不是很乾淨呢!

import UIKit

class ViewController: UIViewController {
    
    override func viewDidLoad() {
        super.viewDidLoad()
    }
    @IBAction func btn1(_ sender: Any) {
        CustomAlert.Alert(target: self, message: "你點了按鈕1")
        
    }
    
    @IBAction func btn2(_ sender: Any) {
        CustomAlert.Alert(target: self, message: "你點了按鈕2")
    }
    
}

上一篇
《DAY 22》天啊!Outlet 拉太多!
下一篇
《DAY 24》在提示框裡輸入資料
系列文
《菜鳥のSwift》持續30天開發挑戰30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言