14일 만에 아이폰 앱 만들기 챌린지(6) - 데이터 타입, 변수 상수
이전까지 우리는 UI에 대해서 알아보았다. 즉, 보여주는 부분만 진행했다. 이제 우리는 데이터를 가지고 오고, 이 데이터를 UI에 표현할 줄 알아야 한다. 그러기 위해서는 Swfit의 기본 문법을 알아야 한다. 너무 겁먹지 말자. 다시 말하지만 어려운 게 아니고 익숙함의 차이이다. 익숙해지는데 최선을 다하자.
우선 Swift를 간단히 실행해 보기 위해 Xcode에서 playground를 실행하자.
에디터가 뜨면 좌측 상단의 버튼을 눌러 네비게이터를 보이지 않게 하고 좌측 하단의 버튼을 클릭해 bug area를 보이게 하자.
하단의 영역은 디버깅도 할 수 있고 출력되는 결과물을 볼 수 있다, 이 영역에 "Run"버튼이 있는데 이 버튼을 클릭하면 코드를 실행하고 결과물을 확인할 수 있다.
Run 버튼을 클릭하면 에디터 영역의 모든 코드를 실행한다. 에디터 영역을 보면 좌측에 번호가 있다. 이 번호 위에 마우스를 올리면 run버튼이 뜬다던데 나는 안 뜨더라. 처음 플레이그라운드에서 run 할 경우 시간이 오래 걸릴 수 있다. 침착하게 기다리자.
스위프트에서는 문자열을 표시할 때 쌍따옴표를 이용한다.
"hello"
주석comment를 적을 때는 다음과 같이 슬래쉬(/)를 이용한다. 메모를 하거나 설명을 할 때 적으면 좋다. 코드가 어떤 내용인지 설명할 수 있다. 주석은 실행되지 않는다.
//String.
"hello."
1, 2, 12, 10 등과 같은 숫자는 integer 타입이라 부른다. 줄여서 Int타입이라 부르기도 한다.
0.4, 1.2 등과 같은 숫자는 dobule타입이라 부른다.
true, false 와 같은 타입은 boolean타입이라 부른다.
이들 말고도 다양한 타입이 있지만 이 세 가지 타입이 가장 많이 사용되는 타입이다.
// Int
1
2
12
10
// Double
0.4
1.2
// Boolean
true, false
이제 우리는 데이터를 저장하고 사용해야 할 줄 알아야 되는데 우선 다음 코드를 보도로 하자
var myVar:String = "hello"
myVar라는 변수를 선언했고, myVar는 String 타입이라는 것을 표시한 것이다. 그리고 이 myVar 변수에는 "hello"라는 텍스트가 들어있다.
그리고 이 변수를 다시 사용할 수 있는데 다음 코드를 보도록 하자.
var myVar:String = "hello"
print(myVar)
print의 괄호 안에 myVar라는 것을 볼 수 있다. 실행을 하면 "hello"라는 문자열이 출력되는 것을 볼 수 있다.
var로 선언한 변수는 다른 값을 할당할 수 있다.
var myVar:String = "hello"
myVar = "world"
print(myVar) // world 출력
단, myVar는 String타입이기 때문에 String 타입의 값만 입력이 가능하다. 만약 숫자를 넣으려고 하면 오류가 생길 것이다.
var myVar:String = "hello"
myVar = 10 // 오류 발생
print(myVar)
즉, 10을 변수에 할당하기 위해서는 새로운 변수를 만들어서 할당해야 한다.
var myVar:String = "hello"
var myInt:Int = 100
print(myVar)// hello 출력
print(myInt) // 100 출력
변수를 선언할 때 타입을 명시해주었는데 위 코드에서는 타입을 명시하지 않아도 정상적으로 돌아간다.
var myVar = "hello"
var myInt = 100
print(myVar)// hello 출력
print(myInt) // 100 출력
할당하는 값들에 의해 타입이 정해지기 때문이다. myVar는 String타입인 "hello"를 처음 할당받기 때문에 String 타입의 변수가 되는 것이고, myInt는 Int타입인 100을 할당받기 때문에 Int 타입이 된다. 마찬가지로 다른 타입의 값은 입력할 수 없다.
지금까지 변수를 알아보았고 상수라는 것을 알아보자.
변수는 여러 번 값을 할당할 수 있지만 상수는 처음 할당된 값이 변경될 수 없다.
상수를 선언하는 코드를 보도록 하자.
let myConst:String = "hello"
print(myConst) // hello 출력
var를 사용하던 것에서 let으로 바꾼 것뿐이다. 이 myConst에 다른 값을 할당해보자.
let myConst:String = "hello"
myConst = "world" // 오류 발생
print(myConst)
다른 값을 할당하려 할 때 오류가 발생할 것이다. 즉, 상수에는 값을 새로 할당하지 못한다. 우리는 앞으로 상수를 보면 이 데이터는 바뀌지 않는 값이구나 하고 알 수 있어야 한다.
상수와 변수에 대해서 알아보았는데 언제 변수를 사용할지 언제 상수를 사용할지 보고 사용하면 된다. xcode에서는 친절하게도 var를 사용해야 되는지 let을 사용해야되는지 가이드해주기도 한다.
이제 연산에 대해서 알아보자. 각각에 연산에 대해서는 다음 코드와 같이 작성하면 된다. 플레이그라운드에서 실행해보도록 하자.
// 더하기
var a = 20 + 5 // 25
// 빼기
var b = 20 - 5 // 15
// 곱하기
var c = 20 * 5 // 100
// 나누기
var d = 20 / 5 // 4
// 나머지
var e = 20 % 2 // 0
다음과 같이 사용도 할 수 있다.
var f = (a * b) + (c / d)
다음은 연산의 다른 방법이다.
f = f + 1 // 1증가
f += 1 // 1증가
f -= 1 // 1감소
f *= 2 // 2배
f /= 4 // 4로 나눔
import Foundation // Foundation을 import해야 아래 연산이 가능하다
var g = abs(-1) // 절대값, 1
var h = ceil(1.8) // 올림, 2.0
var i = floor(1.4) // 내림, 1.0
var j = sqrt(36) // 루트, 6.0
var k = pow(2, 4) // 2에 4승, 16
요건 스스로 한번 해보기!
let people = 4
let subtotal= 128
let tax = 0.13
var split = 0
네 명의 사람이 저녁 식사 후 세금이 포함된 금액에서 더치 페이를 하고 싶다. 더치 페이할 금액을 split에 넣자.
아래는 내가 적은 답이다.
var split = (subtotal + subtotal*tax) / people
이상 스위프트의 기초에 대해서 알아보았다! 다음에는 함수에 대해서 알아보자! 이상 끝!
'14일 만에 아이폰 앱 만들기' 카테고리의 다른 글
14일 만에 아이폰 앱 만들기 챌린지(8) - Structures (0) | 2021.01.08 |
---|---|
14일 만에 아이폰 앱 만들기 챌린지(7) - 스위프트 함수 (0) | 2021.01.07 |
14일 만에 아이폰 앱 만들기 챌린지(5) - Card Game UI 만들기 (0) | 2021.01.05 |
14일 만에 아이폰 앱 만들기 챌린지(4) - Container와 UI (0) | 2021.01.04 |
14일 만에 아이폰 앱 만들기 챌린지(3) - 유저 인터페이스 만들기(feat. SwiftUI) (0) | 2021.01.03 |