패스트캠퍼스) ios 개발 챌린지

[패스트캠퍼스 수강 후기] IOS개발강의 100% 환급 챌린지 6회차 미션

student513 2020. 11. 7. 10:00

이번 시간에는 앱의 refresh버튼으로 가격을 업데이트하는 기능을 만들었다

이전에도 사용했던 기능. 드래그로 뷰 컨트롤러의 코드에 드래그해주기만 하면 

해당 오브젝트를 가리키는 코드가 나타난다. 보면 볼수록 신통방통하다

해당 코드에 대하여 currentValue를 참조하도록 수정해주면 Refresh터치 시 금액이 랜덤으로 업데이트된다.

var와 let의 차이점에 대해 알아보자

var는 variable의 줄임말, 변수이다.

말 그대로 변할 수도 있는 수인데, var a=1로 하면 a의 값은 1이되고 a=2를 한번 더 실행하면 a값은 2가 된다

let은 const랑 똑같다. 한번 선언되고나면 그 이후로는 값이 변하지않는 상수다.

var로 선언해놓고 안바꾸면 되지 않느냐 생각할 수도 있는데, 

프로그래머는 완벽한 기계가 아니기 때문에 실수할 수 있다는 전제하에, 바뀌어서는 안될 수에 대하여 let으로 선언한다.

 

메소드를 작성해보았다.

아무래도 viewDidLoad라는 함수는 react의 componentDidMount와 비슷한 역할을 수행하나보다

뷰가 랜더링되면 초기 값을 정해준다.

저기에 refresh()를 선언해주어 처음부터 랜덤한 값이 오도록 설정할 수 있다.

 

class ViewController: UIViewController {
    
    var currentValue = 0
    @IBOutlet weak var priceLabel: UILabel!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        refresh()
    }

    @IBAction func showAlert(_ sender: Any) {
        let message = "가격은 $\(currentValue)입니다."
        
        let alert = UIAlertController(title: "Hello", message: message, preferredStyle: .alert)
        let action = UIAlertAction(title: "OK", style: .default, handler: nil)
        alert.addAction(action)
        present(alert, animated: true, completion: nil)
        
        refresh()
    }
    
    func refresh() {
        let randomPrice = arc4random_uniform(10000) + 1
        currentValue = Int(randomPrice)
        priceLabel.text = "$\(currentValue)"
    }
}

올인원 패키지 : iOS 앱 개발👉https://bit.ly/2FjWizq