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

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

student513 2020. 11. 11. 13:25

오늘은 어제와 마찬가지로 playground에서 코드 실습하는 시간을 가졌다.

playground가 좋은 점은 우측 사이드바에 해당 변수의 값이 바로 뜬다는 것이다.

튜플과 boolean 자료 타입에 대해 학습했다.

 

튜플은 javascript의 object, c언어의 structure와 유사하다.

하나의 변수에 대해 여러 정보를 담고 싶을 때 사용한다.

 

예를 들어 하나의 변수에 좌표 정보 x, y를 저장하고 싶다면 이렇게 쓰면 된다.

let coordinates = (4, 6)

// 튜플의 인덱스를 직접 참조하는 방법
let x = coordinates.0
let y = coordinates.1

// 튜플에 인덱스 대신 key값을 할당하여 가독성을 높이는 방법
let coordinatesNamed = (x: 2, y: 3)

let x2 = coordinatesNamed.x
let y2 = coordinatesNamed.y

// 비구조화 할당
let (x3, y3) = coordinatesNamed
x3
y3

튜플의 데이터를 참조하는 방식도 여타 언어들과 다르지 않다.

인덱스를 직접 참조할 수도 있다.

coordinates.0은 coordinates라는 튜플 내의 0번째 값을 참조하라는 뜻이다.

 

하지만 0, 1, 2로 표현하면 다른 사람이 읽을 때 0이 어떤 정보를 나타내는지 알 수 없다.

그래서 인덱스 대신 key값으로 할당할 수 있다.

다만 아쉬운 점은 해당 key에 대한 자료형을 명시할 수는 없다는 것?

 

물론 비구조화 할당도 가능하다.

여러 변수에 한꺼번에 할당해준다. 이 경우 coordinatesNamed내의 데이터가 순서대로 할당된다.

 

let yes = true
let no = false

let isFourGreaterThanFive = 4 > 5

// 거짓 출력
if isFourGreaterThanFive {
    print("---> 참")
} else {
    print("---> 거짓")
}


let a = 5
let b = 10

// b가 크다
if a > b {
    print("---> a가 크다")
} else {
    print("---> b가 크다")
}


let name1 = "Jin"
let name2 = "Jason"

let isTwoNameSame = name1 == name2

// 이름이 다르다
if isTwoNameSame {
    print("---> 이름이 같다")
} else {
    print("---> 이름이 다르다")
}
 

let isJason = name2 == "Jason"
let isMale = true

// name2는 Jason이므로 isJason==true
let jasonAndMale = isJason && isMale
let jasonOrMale = isJason || isMale



let greetingMessage: String
if isJason {
    greetingMessage = "Hello Jason"
} else {
    greetingMessage = "Hello Somebody"
}
print("Msg: \(greetingMessage)")


let greetingMessage: String = isJason ? "Hello Jason" : "Hello Somebody"
print("Msg: \(greetingMessage)")

boolean에 대한 부분이다.

boolean을 배우니 조건문도 덩달아 배우게 된다.

다른 언어와 똑같다. 

if문의 조건에 괄호를 붙이지 않아도 된다는 것 정도가 다른 것 같다.

 

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