Swift4 ํŽธ๋ฆฌ ๋นŒ๋”(convenience)

1712 ๋‹จ์–ด
์ผ๋‹จ ์ธํ„ฐ๋„ท์— ์žˆ๋Š” ์˜ˆ๋ฅผ ํ•˜๋‚˜ ๋ถ™์—ฌ๋ณผ๊ฒŒ์š”.
import UIKit  
  
extension UIButton{  
      
    //swit      class     ๏ผŒ   oc +       
    class func createButton(imageName:String,bgImageName:String)->UIButton{  
          
        let btn=UIButton()  
        btn.setImage(UIImage(named:imageName), for: .normal)  
        btn.sizeToFit()  
      
        return btn  
    }  
      
    /*  
     convenience:  ๏ผŒ  convenience                 
                                ใ€‚  
              ๏ผš  
     1ใ€            extension    
     2ใ€    init      convenience   
     3ใ€               self.init()  
      
     */  
      
    convenience init(imageName:String,bgImageName:String){  
          
        self.init()  
          
        setImage(UIImage(named:imageName), for: .normal)  
        setBackgroundImage(UIImage(named:bgImageName), for: .normal)  
        sizeToFit()  
    }  
} 

์—ฌ๊ธฐ์— ๋ช‡ ๊ฐ€์ง€ ๋‚ด์šฉ์„ ๋ณด์ถฉํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.
ํŽธ๋ฆฌ ๊ตฌ์กฐ๊ธฐ๋Š” extension๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํด๋ž˜์Šค์—๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
class InitViewController: UIViewController {

    convenience init(_ name: String) {
        //         self.init()
        self.init()
        
        self.username = name;
    }
    
    //        ๏ผŒ            ๏ผŒ    ๏ผš     init  ๏ผŒ           init     ๏ผŒ      ๏ผŒ         init          ใ€‚
    var username : String!
    override func viewDidLoad() {
        super.viewDidLoad()

        self.view.backgroundColor = UIColor.purple
        
        if let username = self.username {
            print(username)
        }
    }
}

์‚ฌ์šฉํ•  ๋•Œ
//                   
let ctrl = InitViewController()
//let ctrl = InitViewController("Coder")
self.present(ctrl, animated: true, completion: nil);

์ข‹์€ ์›นํŽ˜์ด์ง€ ์ฆ๊ฒจ์ฐพ๊ธฐ