패스트캠퍼스 나만의 ios 앱 개발 입문을 시작하게 됬다.
K디지털크래딧(내일배움카드)을 사용하여 무료로 강의를 들을 수 있는 기회가 생겨 늘 궁금했던 ios를 듣기로 결심했다. 스스로 나태해지지 않기 위해 공부한 내용을 올리는 자기개발 챌린지
도 같이 도전하기로 했다!(사실 챌린지 일정을 깜빡해서 인정은 되지 않겠지만 올려본다..ㅎ)
1주차에는 xcode를 사용하여 swift 기본 문법들을 알려주는 내용이었다.
내가 주로 사용하는 언어는 javascript여서 js와 다른 점을 발견하면서 듣게 됬다 :)
(Boolean, Scope, Var/let 등 기본적인 개념들은 여기서 생략하겠다!)
xcode에서 제공해주는 기능으로 간단한 소스를 실행해서 결과를 확인할 수 있게 해준다.
File > New > playground
선택하게 되면 아래이 playground를 실행할 수 있다.
가장 왼쪽 코드 줄에 마우스르 가져다대면 파란색으로 표시되면서 play 버튼이 생긴다. 그 버튼을 클릭하면 실행된다!
자바스크립트랑 비교하자면 아래와 같은 점이 다르다. (물론 1, 2번은 typescript를 사용하면 익숙할 수 있다.)
- 반환되는 경우와 아닌 함수가 선언되는 타입이 다르다.
- 인자도 타입을 지정해준다.
- 인자를 숨길 수 있다.
- overload라는 개념이 존재한다.
- In-out개념이 존재한다.
인자를 숨기기 위해선 _
를 파리미터 앞에 넣어주면 된다.
import UIKit
func printMultipleOfTen(value: Int) {
print("\(value) * 10 = \(value * 10)")
}
func printMultipleOfTenNoParam(_ value: Int) {
print("\(value) * 10 = \(value * 10)")
}
printMultipleOfTen(value: 5)
printMultipleOfTenNoParam(5)
동일한 명칭이지만 사용되는 파라미터 타입, 수에 따라서 다른 함수처럼 작동하는 기능하다.
아래 작성된 함수는 명칭이 동일할 뿐 서로 다른 함수처럼 작동한다.
func printTotalPrice(price: Int, count: Int) {
print("Total Price: \(price * count)")
}
func printTotalPrice(price: Double, count: Double) {
print("Total Price: \(price * count)")
}
func printTotalPrice(가격: Double, 개수: Double) {
print("Total Price: \(가격 * 개수)")
}
swift에서 파라미터는 상수라서 함수 내부에서 값을 변경할 수 없다.
함수 내부에서 파라미터 값을 변경하고 싶은 경우에 사용되는 개념이다. (마치 C++ 참조같은 개념처럼 사용되는 것 같다)
func incrementAndPrint(_ value: inout Int) {
value += 1
print(value)
}
var value = 3
incrementAndPrint(&value)