티스토리 뷰

iOS

[iOS] 왕초보를 위한 iOS 앱개발 4

learner._.Kio 2021. 3. 12. 02:23
 

왕초보를 위한 iOS 앱개발 - 야곰닷넷

코딩의 '코'자를 몰라도 시작해 볼 수 있는 iOS 앱만들기! 왕초보를 위한 iOS 앱개발 입문편입니다.

yagom.net

4. 코딩 입문

Lesson4 Topics

  • Comments
  • Doing Something: Functions
  • Challenge - Implementing Function
  • Values: Variables
  • Declaring variables
  • Challenge - Declaring variables
  • Random numbers
  • Restarting the Game
  • Wrapping Up

4-1. 주석

Comments

  • Note for Code

  • Igonred at runtime

  • 주석의 2가지 방법

    // Single-Line Comments
    /*
    Multi-
    Line
    Comments
    */

4-2. 무엇을 해야할까? – 함수

import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var slider: UISlider!

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        slider.value = 15
        slider.setThumbImage(#imageLiteral(resourceName: "slider_thumb"), for: .normal)
    }

    @IBAction func sliderValueChanged(_ sender: UISlider) {
        print(sender.value)
    }

    @IBAction func touchUpHitButton(_ sender: UIButton) {
        print(slider.value)
    }

    @IBAction func touchUpResetButton( _sender: UIButton) {
        print("touch up reset button")
    }
}
  • @IBAaction는 이벤트
  • Class안에 있는 함수는 Method

4-3. [도전!] 함수 만들어보기

import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var slider: UISlider!

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        slider.value = 15
        slider.setThumbImage(#imageLiteral(resourceName: "slider_thumb"), for: .normal)
        reset()
    }

    @IBAction func sliderValueChanged(_ sender: UISlider) {
        print(sender.value)
    }

    @IBAction func touchUpHitButton(_ sender: UIButton) {
        print(slider.value)
    }

    @IBAction func touchUpResetButton( _sender: UIButton) {
        print("touch up reset button")
        reset()
    }

    func reset() {
        print("reset!")
    }
}

4-4. 값은 어디 담기지? – 변수

Variables & Constatns

  • Cotains valule temporary

    • Variables : Mutable

      var randomValuer: Int = 0
    • Constatns : Immutable

      let hitValue: Int = 0

Primitive Data Types in Swift

4-5. 실행에 필요한 변수 만들기

변수 선언

class ViewController: UIViewController {   
    var randomValue: Int = 0
    var tryCount: Int = 0
    @IBOutlet weak var slider: UISlider!
    @IBOutlet weak var tryCountLabel: UILabel!
    @IBOutlet weak var sliderValueLabel: UILabel!
}

Main.storyboard

  • 선언한 변수 연결하기
  • View Controller > Connection Inspector

4-6. [도전!] 변수 만들기

변수 선언

class ViewController: UIViewController {
    var randomValue: Int = 0
    var tryCount: Int = 0
    @IBOutlet weak var slider: UISlider!
    @IBOutlet weak var tryCountLabel: UILabel!
    @IBOutlet weak var sliderValueLabel: UILabel!
    @IBOutlet weak var minimunValueLabel: UILabel!
    @IBOutlet weak var maximunValueLabel: UILabel!
}

Main.storyboard

  • 선언한 변수 연결하기
  • View Controller > Connection Inspector

4-7. 임의의 정수 만들기

Range Operator

4-8. 게임 초기화 기능 완성하기

Reset() Method Update

import UIKit

class ViewController: UIViewController {

    var randomValue: Int = 0
    var tryCount: Int = 0
    @IBOutlet weak var slider: UISlider!
    @IBOutlet weak var tryCountLabel: UILabel!
    @IBOutlet weak var sliderValueLabel: UILabel!
    @IBOutlet weak var minimunValueLabel: UILabel!
    @IBOutlet weak var maximunValueLabel: UILabel!

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        slider.value = 15
        slider.setThumbImage(#imageLiteral(resourceName: "slider_thumb"), for: .normal)
        reset()
    }

    @IBAction func sliderValueChanged(_ sender: UISlider) {
        print(sender.value)
    }

    @IBAction func touchUpHitButton(_ sender: UIButton) {
        print(slider.value)
    }

    @IBAction func touchUpResetButton( _sender: UIButton) {
        print("touch up reset button")
        reset()
    }

    func reset() {
        print("reset!")
        randomValue = Int.random(in: 0...30)
        print(randomValue)
        tryCount = 0
        tryCountLabel.text = "0 / 5"
        slider.minimumValue = 0
        slider.maximumValue = 30
        slider.value = 15
        minimunValueLabel.text = "0"
        maximunValueLabel.text = "30"
        sliderValueLabel.text = "15"
    }
}

4-9. 레슨4 정리

Wrapping Up

  • Comments
  • Doing Something: Functions
  • Challenge - Implementing Function
  • Values: Variables
  • Declaring variables
  • Challenge - Declaring variables
  • Random numbers
  • Restarting the Game

To-Do List

  1. Add Slider
  2. Add 'HIT Button'
  3. Receive value changed events from the slider
  4. Add 'RESET Button'
  5. Add labels presentin information
  6. Generate the random number
  7. Compare the random number with input number
  8. Show alerts
  9. Implement 'reset' feature
  10. Add 'Credit' view
댓글