[Udemy] Section 4

서희찬·2022년 5월 10일
0

swift

목록 보기
7/17
post-thumbnail

배울게 많은 섹션이였다.

who.what = value
형식으로 작성된다고 보면된다.

랜덤

랜덤에는 두가지 방법이 있다.

randomElement()

배열.randomElement 방식으로 작성한다.
이렇게 작성하면 배열안에 있는 요소들 중에 랜덤으로 요소 하나를 뽑아내준다.

int.random(in: n1...n2)

이 방법은 랜덤이 어떤 방식으로 진행되는 직관적으로 알 수 있다.
이 코드를 분석해보면
데이터타입.random(in : n1...n2)이다.

이것은 in안에 n1~n2사이에 있는 숫자들 중에서 하나를 뽑아 내는것인데 작성한 데이터타입으로 뽑아낸다는 뜻이다.
그렇기에 int를 적으면 정수형을 뽑아내고 소수형을 뽑아내기 위해서는 float를 적으면 소수자리 까지 출력이 가능하다.

#imageLiteral(resourceName: " ")

이 방식으로 이미지도 바로 불러올 수 있다.

상수 vs 변수

constant 와 variable 를 굳이 나누는 이유는
상수는 변하지 않는 값이다.
그렇기에 바뀌지 않을것같은 값을 변수에다가 넣으면 변수는 미래지향적인 성격을 가지고 있어야해서 많은 공간을 미리 준비해두고 있어야해서 데이터의 손실을 초래한다.

이것을 예시로 쇼핑백을 들 수 있다.
쇼핑하러갈때 매번 뭘 쇼핑해야할지 모른다면 쇼핑백의 크기를 큰것을 가지고 갈 수 있고 작을것을 가지고 갈 수있을것이다. 그래서 큰 쇼핑백을 가져 갔는데 초콜렛하나만 사서 온다면 엄청난 비효율을 초래한다.
하지만 초콜렛을 구매하는 것을안다면 그 크기에 맞는 것을 들고가서 비효율을 방지할 수 있을것이다.

최종코드

최종코드는 아래와 같다.

import UIKit

class ViewController: UIViewController {
    
    // IBOutlet allows me to referance a UI Element
    @IBOutlet weak var diceImageView1: UIImageView!
    
    @IBOutlet weak var diceImageView2: UIImageView!
    
    @IBAction func rollButtonPressed(_ sender: UIButton) {
        
        let diceAraay = [ #imageLiteral(resourceName: "DiceOne"), #imageLiteral(resourceName: "DiceTwo"), #imageLiteral(resourceName: "DiceThree"), #imageLiteral(resourceName: "DiceFour"), #imageLiteral(resourceName: "DiceFive"), #imageLiteral(resourceName: "DiceSix")]
        // what imageLiteral
        diceImageView1.image = diceAraay.randomElement() // array안에서 랜덤으로 뽑아줌
        diceImageView2.image = diceAraay[Int.random(in: 0...5)] // 어케되는지 보기 좋은 코드
         // ... range
        
    }
}

배운 기능

이번 섹션에서 주로 배운 기능은 이미지를 배열로 불러오는 방법과 상수,변수의 차이점을 알아가
ㅆ다.

profile
부족한 실력을 엉덩이 힘으로 채워나가는 개발자 서희찬입니다 :)

0개의 댓글